Files
danbooru/test/functional/pool_versions_controller_test.rb

63 lines
1.7 KiB
Ruby

require 'test_helper'
class PoolVersionsControllerTest < ActionDispatch::IntegrationTest
context "The pool versions controller" do
setup do
mock_pool_archive_service!
start_pool_archive_transaction
@user = create(:user)
end
teardown do
rollback_pool_archive_transaction
end
context "index action" do
setup do
as_user do
@pool = create(:pool)
end
@user_2 = create(:user)
@user_3 = create(:user)
CurrentUser.scoped(@user_2, "1.2.3.4") do
@pool.update(:post_ids => "1 2")
end
CurrentUser.scoped(@user_3, "5.6.7.8") do
@pool.update(:post_ids => "1 2 3 4")
end
@versions = @pool.versions
end
should "list all versions" do
get pool_versions_path
assert_response :success
assert_select "#pool-version-#{@versions[0].id}"
assert_select "#pool-version-#{@versions[1].id}"
assert_select "#pool-version-#{@versions[2].id}"
end
should "list all versions that match the search criteria" do
get pool_versions_path, params: {:search => {:updater_id => @user_2.id}}
assert_response :success
assert_select "#pool-version-#{@versions[0].id}", false
assert_select "#pool-version-#{@versions[1].id}"
assert_select "#pool-version-#{@versions[2].id}", false
end
end
context "diff action" do
should "render" do
@post = create(:post)
@pool = as (@user) { create(:pool) }
as (@user) { @pool.update(name: "blah", description: "desc", post_ids: [@post.id]) }
get diff_pool_version_path(@pool.versions.last.id)
assert_response :success
end
end
end
end