eBooru/test/functional/post_versions_controller_test.rb

47 lines
1.6 KiB
Ruby

# frozen_string_literal: true
require "test_helper"
class PostVersionsControllerTest < ActionDispatch::IntegrationTest
setup do
@user = create(:user)
end
context "The post versions controller" do
context "index action" do
setup do
as(@user) do
@post = create(:post)
travel_to(2.hours.from_now) do
@post.update(tag_string: "1 2", source: "xxx\nyyy", locked_tags: "4 5")
end
travel_to(4.hours.from_now) do
@post.update(tag_string: "2 3", rating: "e", source: "yyy\nzzz", locked_tags: "5 6")
end
@versions = @post.versions
@post2 = create(:post)
end
end
# FIXME: for some reason nothings gets returned here when no search parameters are passed
should_eventually "list all versions" do
get_auth post_versions_path, @user
assert_response :success
assert_select "#post-version-#{@post2.versions[0].id}"
assert_select "#post-version-#{@versions[0].id}"
assert_select "#post-version-#{@versions[1].id}"
assert_select "#post-version-#{@versions[2].id}"
end
should "list all versions that match the search criteria" do
get_auth post_versions_path, @user, params: { search: { post_id: @post.id } }
assert_response :success
assert_select "#post-version-#{@post2.versions[0].id}", false
assert_select "#post-version-#{@versions[0].id}"
assert_select "#post-version-#{@versions[1].id}"
assert_select "#post-version-#{@versions[2].id}"
end
end
end
end