Add test cases for twitter artist finder.

This commit is contained in:
evazion
2016-10-05 07:58:20 +00:00
parent ebff27c7c0
commit b6af41e0f8
9 changed files with 2390 additions and 1 deletions

View File

@@ -12,7 +12,7 @@ class ArtistTest < ActiveSupport::TestCase
def assert_artist_not_found(source_url)
VCR.use_cassette("artist-test/#{Digest::SHA1.hexdigest(source_url)}", :record => @vcr_record_option) do
artists = Artist.find_all_by_url(source_url)
artists = Artist.url_matches(source_url).to_a
assert_equal(0, artists.size, "Testing URL: #{source_url}")
end
end
@@ -244,6 +244,39 @@ class ArtistTest < ActiveSupport::TestCase
end
end
context "when finding twitter artists" do
setup do
FactoryGirl.create(:artist, :name => "hammer_(sunset_beach)", :url_string => "http://twitter.com/hamaororon")
FactoryGirl.create(:artist, :name => "haruyama_kazunori", :url_string => "https://twitter.com/kazuharoom")
end
should "find the correct artist for twitter.com sources" do
assert_artist_found("hammer_(sunset_beach)", "http://twitter.com/hamaororon/status/684338785744637952")
assert_artist_found("hammer_(sunset_beach)", "https://twitter.com/hamaororon/status/684338785744637952")
assert_artist_found("haruyama_kazunori", "http://twitter.com/kazuharoom/status/733355069966426113")
assert_artist_found("haruyama_kazunori", "https://twitter.com/kazuharoom/status/733355069966426113")
end
should "find the correct artist for mobile.twitter.com sources" do
assert_artist_found("hammer_(sunset_beach)", "http://mobile.twitter.com/hamaororon/status/684338785744637952")
assert_artist_found("hammer_(sunset_beach)", "https://mobile.twitter.com/hamaororon/status/684338785744637952")
assert_artist_found("haruyama_kazunori", "http://mobile.twitter.com/kazuharoom/status/733355069966426113")
assert_artist_found("haruyama_kazunori", "https://mobile.twitter.com/kazuharoom/status/733355069966426113")
end
should "return nothing for unknown twitter.com sources" do
assert_artist_not_found("http://twitter.com/bkub_comic/status/782880825700343808")
assert_artist_not_found("https://twitter.com/bkub_comic/status/782880825700343808")
end
should "return nothing for unknown mobile.twitter.com sources" do
assert_artist_not_found("http://mobile.twitter.com/bkub_comic/status/782880825700343808")
assert_artist_not_found("https://mobile.twitter.com/bkub_comic/status/782880825700343808")
end
end
should "normalize its other names" do
artist = FactoryGirl.create(:artist, :name => "a1", :other_names_comma => "aaa, bbb, ccc ddd")
assert_equal("aaa, bbb, ccc_ddd", artist.other_names_comma)