forked from e621ng/e621ng
47 lines
1.6 KiB
Ruby
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
|