From 32171ad286c92f82ec9fe28f520a096cac37695d Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Fri, 22 Dec 2017 09:30:24 +0800 Subject: [PATCH] FIX: Invalid logo in discobot's certificate when `SiteSetting.logo_small_url` is blank. https://meta.discourse.org/t/broken-image-in-discobot-certificate-with-no-logo-small-url/76594/2 --- .../certificate_generator.rb | 2 ++ .../spec/lib/certificate_generator_spec.rb | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/certificate_generator.rb b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/certificate_generator.rb index 639aaa70621..bb1f4dbeffc 100644 --- a/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/certificate_generator.rb +++ b/plugins/discourse-narrative-bot/lib/discourse_narrative_bot/certificate_generator.rb @@ -568,6 +568,8 @@ module DiscourseNarrativeBot end def logo_group(size, width, height) + return unless SiteSetting.logo_small_url.present? + begin uri = URI(SiteSetting.logo_small_url) diff --git a/plugins/discourse-narrative-bot/spec/lib/certificate_generator_spec.rb b/plugins/discourse-narrative-bot/spec/lib/certificate_generator_spec.rb index 2e3536d746b..69f7e5e848d 100644 --- a/plugins/discourse-narrative-bot/spec/lib/certificate_generator_spec.rb +++ b/plugins/discourse-narrative-bot/spec/lib/certificate_generator_spec.rb @@ -8,4 +8,17 @@ RSpec.describe DiscourseNarrativeBot::CertificateGenerator do expect { described_class.new(user, "2017-00-10") }.to_not raise_error end end + + describe '#logo_group' do + describe 'when SiteSetting.logo_small_url is blank' do + before do + SiteSetting.logo_small_url = '' + end + + it 'should not try to fetch a image' do + expect(described_class.new(user, "2017-02-10").send(:logo_group, 1, 1, 1)) + .to eq(nil) + end + end + end end