Fix #3859: Related tag and find artist don't run when fetch data fails.

Fixes an exception in the artist finder caused by searching for a nil profile_url.
This commit is contained in:
evazion
2018-09-01 11:48:42 -05:00
parent d6235d6f9e
commit d693f01dde
3 changed files with 38 additions and 9 deletions

View File

@@ -0,0 +1,32 @@
require 'test_helper'
module Sources
class NullTest < ActiveSupport::TestCase
context "A source from an unknown site" do
setup do
@site = Sources::Strategies.find("http://oremuhax.x0.com/yoro1603.jpg", "http://oremuhax.x0.com/yo125.htm")
end
should "be handled by the null strategy" do
assert(@site.is_a?(Sources::Strategies::Null))
end
should "find the metadata" do
assert_equal("oremuhax.x0.com", @site.site_name)
assert_equal(["http://oremuhax.x0.com/yoro1603.jpg"], @site.image_urls)
assert_equal("http://oremuhax.x0.com/yoro1603.jpg", @site.image_url)
assert_equal("http://oremuhax.x0.com/yoro1603.jpg", @site.canonical_url)
assert_equal("", @site.artist_name)
assert_equal("", @site.profile_url)
assert_nothing_raised { @site.to_h }
end
should "find the artist" do
a1 = FactoryBot.create(:artist, name: "test1", url_string: "http://oremuhax.x0.com")
a2 = FactoryBot.create(:artist, name: "test2", url_string: "http://google.com")
assert_equal([a1], @site.artists)
end
end
end
end