search: refactor to pass in the current user explicitly.
This commit is contained in:
@@ -2,14 +2,14 @@ require 'test_helper'
|
||||
|
||||
class ArtistTest < ActiveSupport::TestCase
|
||||
def assert_artist_found(expected_name, source_url)
|
||||
artists = Artist.search(url_matches: source_url).to_a
|
||||
artists = Artist.search({ url_matches: source_url }, current_user: User.anonymous).to_a
|
||||
|
||||
assert_equal(1, artists.size)
|
||||
assert_equal(expected_name, artists.first.name, "Testing URL: #{source_url}")
|
||||
end
|
||||
|
||||
def assert_artist_not_found(source_url)
|
||||
artists = Artist.search(url_matches: source_url).to_a
|
||||
artists = Artist.search({ url_matches: source_url }, current_user: User.anonymous).to_a
|
||||
assert_equal(0, artists.size, "Testing URL: #{source_url}")
|
||||
end
|
||||
|
||||
@@ -455,50 +455,51 @@ class ArtistTest < ActiveSupport::TestCase
|
||||
end
|
||||
|
||||
should "search on its name should return results" do
|
||||
artist = FactoryBot.create(:artist, :name => "artist")
|
||||
artist1 = create(:artist, name: "artist")
|
||||
artist2 = create(:artist, name: "bkub")
|
||||
|
||||
assert_not_nil(Artist.search(:name => "artist").first)
|
||||
assert_not_nil(Artist.search(:name_like => "artist").first)
|
||||
assert_not_nil(Artist.search(:any_name_matches => "artist").first)
|
||||
assert_not_nil(Artist.search(:any_name_matches => "/art/").first)
|
||||
assert_search_equals(artist1, name: "artist")
|
||||
assert_search_equals(artist1, name_like: "artist")
|
||||
assert_search_equals(artist1, any_name_matches: "artist")
|
||||
assert_search_equals(artist1, any_name_matches: "/art/")
|
||||
end
|
||||
|
||||
should "search on other names should return matches" do
|
||||
artist = FactoryBot.create(:artist, :name => "artist", :other_names_string => "aaa ccc_ddd")
|
||||
artist = create(:artist, name: "artist", other_names_string: "aaa ccc_ddd")
|
||||
|
||||
assert_nil(Artist.search(any_other_name_like: "*artist*").first)
|
||||
assert_not_nil(Artist.search(any_other_name_like: "*aaa*").first)
|
||||
assert_not_nil(Artist.search(any_other_name_like: "*ccc_ddd*").first)
|
||||
assert_not_nil(Artist.search(name: "artist").first)
|
||||
assert_not_nil(Artist.search(:any_name_matches => "aaa").first)
|
||||
assert_not_nil(Artist.search(:any_name_matches => "/a/").first)
|
||||
assert_search_equals([], any_other_name_like: "*artist*")
|
||||
assert_search_equals(artist, any_other_name_like: "*aaa*")
|
||||
assert_search_equals(artist, any_other_name_like: "*ccc_ddd*")
|
||||
assert_search_equals(artist, name: "artist")
|
||||
assert_search_equals(artist, any_name_matches: "aaa")
|
||||
assert_search_equals(artist, any_name_matches: "/a/")
|
||||
end
|
||||
|
||||
should "search on group name and return matches" do
|
||||
cat_or_fish = FactoryBot.create(:artist, :name => "cat_or_fish")
|
||||
yuu = FactoryBot.create(:artist, :name => "yuu", :group_name => "cat_or_fish")
|
||||
cat_or_fish = create(:artist, name: "cat_or_fish")
|
||||
yuu = create(:artist, name: "yuu", group_name: "cat_or_fish")
|
||||
|
||||
assert_not_nil(Artist.search(:group_name => "cat_or_fish").first)
|
||||
assert_not_nil(Artist.search(:any_name_matches => "cat_or_fish").first)
|
||||
assert_not_nil(Artist.search(:any_name_matches => "/cat/").first)
|
||||
assert_search_equals(yuu, group_name: "cat_or_fish")
|
||||
assert_search_equals([yuu, cat_or_fish], any_name_matches: "cat_or_fish")
|
||||
assert_search_equals([yuu, cat_or_fish], any_name_matches: "/cat/")
|
||||
end
|
||||
|
||||
should "search on url and return matches" do
|
||||
bkub = FactoryBot.create(:artist, name: "bkub", url_string: "http://bkub.com")
|
||||
bkub = create(:artist, name: "bkub", url_string: "http://bkub.com")
|
||||
|
||||
assert_equal([bkub.id], Artist.search(url_matches: "bkub").map(&:id))
|
||||
assert_equal([bkub.id], Artist.search(url_matches: "*bkub*").map(&:id))
|
||||
assert_equal([bkub.id], Artist.search(url_matches: "/rifyu|bkub/").map(&:id))
|
||||
assert_equal([bkub.id], Artist.search(url_matches: "http://bkub.com/test.jpg").map(&:id))
|
||||
assert_search_equals(bkub, url_matches: "bkub")
|
||||
assert_search_equals(bkub, url_matches: "*bkub*")
|
||||
assert_search_equals(bkub, url_matches: "/rifyu|bkub/")
|
||||
assert_search_equals(bkub, url_matches: "http://bkub.com/test.jpg")
|
||||
end
|
||||
|
||||
should "search on has_tag and return matches" do
|
||||
bkub = FactoryBot.create(:artist, name: "bkub")
|
||||
none = FactoryBot.create(:artist, name: "none")
|
||||
post = FactoryBot.create(:post, tag_string: "bkub")
|
||||
bkub = create(:artist, name: "bkub")
|
||||
none = create(:artist, name: "none")
|
||||
post = create(:post, tag_string: "bkub")
|
||||
|
||||
assert_equal(bkub.id, Artist.search(has_tag: "true").first.id)
|
||||
assert_equal(none.id, Artist.search(has_tag: "false").first.id)
|
||||
assert_search_equals(bkub, has_tag: "true")
|
||||
assert_search_equals(none, has_tag: "false")
|
||||
end
|
||||
|
||||
should "revert to prior versions" do
|
||||
|
||||
Reference in New Issue
Block a user