Files
danbooru/test/functional/dtext_links_controller_test.rb
evazion 33103f6dc4 pools: add ability to search for pools linking to given tag.
Add ability to search for pools linking to a given tag in the pool
description. Example:

    https://danbooru.donmai.us/pools?search[linked_to]=touhou

(This isn't actually exposed in the UI to avoid cluttering the pool
search form with rarely used options.)

Pools with broken links can be found here:

    https://danbooru.donmai.us/dtext_links?search[has_linked_tag]=No&search[has_linked_wiki]=No&search[model_type]=Pool

Lays the groundwork for fixing #4629.
2022-01-15 20:26:30 -06:00

33 lines
1.3 KiB
Ruby

require "test_helper"
class DtextLinksControllerTest < ActionDispatch::IntegrationTest
setup do
@user = create(:user)
as(@user) do
@wiki = create(:wiki_page, title: "case", body: "[[test]]")
@forum = create(:forum_post, topic: build(:forum_topic, title: "blah"), body: "[[case]]")
@pool = create(:pool, description: "[[case]]")
create(:tag, name: "test")
end
end
context "index action" do
should "render" do
get dtext_links_path
assert_response :success
end
should respond_to_search({}).with { @pool.dtext_links + @forum.dtext_links + @wiki.dtext_links }
context "using includes" do
should respond_to_search(model_type: "WikiPage").with { @wiki.dtext_links }
should respond_to_search(model_type: "ForumPost").with { @forum.dtext_links }
should respond_to_search(model_type: "Pool").with { @pool.dtext_links }
should respond_to_search(has_linked_tag: "true").with { @wiki.dtext_links }
should respond_to_search(has_linked_wiki: "true").with { @pool.dtext_links + @forum.dtext_links }
should respond_to_search(ForumPost: {topic: {title_matches: "blah"}}).with { @forum.dtext_links }
should respond_to_search(ForumPost: {topic: {title_matches: "nah"}}).with { [] }
end
end
end