Files
danbooru/test/functional/pool_versions_controller_test.rb
evazion 3656063a6b tests: fix unit tests.
* Move old post archive tests to post version tests.

* Fix pool tests that assumed that multiple edits by the same user
  weren't merged.

* Fix references to `is_active` and `notes` on artist model.
2020-03-21 21:07:35 -05:00

50 lines
1.5 KiB
Ruby

require 'test_helper'
class PoolVersionsControllerTest < ActionDispatch::IntegrationTest
context "The pool versions controller" do
setup do
@user = create(:user)
end
context "index action" do
setup do
@pool = as(@user) { create(:pool) }
@user_2 = create(:user)
@user_3 = create(:user)
as(@user_2) { @pool.update(post_ids: "1 2") }
as(@user_3) { @pool.update(post_ids: "1 2 3 4") }
@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 = as(@user) { 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