63 lines
1.7 KiB
Ruby
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
|