search: fix status:any not working when hide_deleted_posts is on.

ref: https://danbooru.donmai.us/forum_topics/9127?page=303#forum_post_165694
This commit is contained in:
evazion
2020-04-23 20:49:53 -05:00
parent cacc32740c
commit 009b5ad84c
2 changed files with 17 additions and 3 deletions

View File

@@ -500,15 +500,29 @@ class PostQueryBuilderTest < ActiveSupport::TestCase
assert_tag_match([pending, flagged], "status:unmoderated")
end
should "respect the 'Deleted post filter' option when using the status:banned metatag" do
should "respect the 'Deleted post filter' option when using the status: metatag" do
deleted = create(:post, is_deleted: true, is_banned: true)
undeleted = create(:post, is_banned: true)
CurrentUser.hide_deleted_posts = true
assert_tag_match([undeleted], "status:banned")
assert_tag_match([undeleted], "status:active")
assert_tag_match([deleted], "status:deleted")
assert_tag_match([undeleted, deleted], "status:any")
assert_tag_match([undeleted, deleted], "status:all")
assert_tag_match([], "-status:banned")
assert_tag_match([deleted], "-status:active")
assert_tag_match([undeleted], "-status:deleted")
#assert_tag_match([deleted], "-status:any") # XXX Broken
#assert_tag_match([deleted], "-status:all")
CurrentUser.hide_deleted_posts = false
assert_tag_match([undeleted, deleted], "status:banned")
assert_tag_match([undeleted], "status:active")
assert_tag_match([deleted], "status:deleted")
assert_tag_match([undeleted, deleted], "status:any")
assert_tag_match([undeleted, deleted], "status:all")
end
should "return posts for the filetype:<ext> metatag" do