From dc36476d50b2dd43cec0a7b270ab8a5b19f39f11 Mon Sep 17 00:00:00 2001 From: evazion Date: Tue, 20 Jun 2017 17:09:57 -0500 Subject: [PATCH] nijie: don't return bogus artists when artist finder finds no match. --- app/models/artist.rb | 1 + test/unit/artist_test.rb | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/app/models/artist.rb b/app/models/artist.rb index 152ca48d7..de62be6f0 100644 --- a/app/models/artist.rb +++ b/app/models/artist.rb @@ -49,6 +49,7 @@ class Artist < ApplicationRecord break if url =~ /deviantart\.net\//i break if url =~ %r!\Ahttps?://(?:mobile\.)?twitter\.com/\Z!i break if url =~ %r!pawoo\.net/(?:web/)?$!i + break if url =~ %r!\Ahttps?://(pic\d+\.)?nijie\.info/!i end artists.inject({}) {|h, x| h[x.name] = x; h}.values.slice(0, 20) diff --git a/test/unit/artist_test.rb b/test/unit/artist_test.rb index 7cd5f06ba..b35adff80 100644 --- a/test/unit/artist_test.rb +++ b/test/unit/artist_test.rb @@ -310,6 +310,22 @@ class ArtistTest < ActiveSupport::TestCase end end + context "when finding nijie artists" do + setup do + FactoryGirl.create(:artist, :name => "evazion", :url_string => "http://nijie.info/members.php?id=236014") + FactoryGirl.create(:artist, :name => "728995", :url_string => "http://nijie.info/members.php?id=728995") + end + + should "find the artist" do + assert_artist_found("evazion", "http://nijie.info/view.php?id=218944") + assert_artist_found("728995", "http://nijie.info/view.php?id=213043") + end + + should "return nothing for unknown nijie artists" do + assert_artist_not_found("http://nijie.info/view.php?id=157953") + 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)