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.
33 lines
1.3 KiB
Ruby
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
|