diff --git a/app/decorators/service_provider_session_decorator.rb b/app/decorators/service_provider_session_decorator.rb index 4a327c6fd8a..243fac9dabc 100644 --- a/app/decorators/service_provider_session_decorator.rb +++ b/app/decorators/service_provider_session_decorator.rb @@ -20,7 +20,7 @@ def remember_device_default def custom_alert(section) language = I18n.locale.to_s alert = sp.help_text.dig(section, language) - format(alert, sp_name: sp_name, sp_create_link: sp_create_link) if alert + format(alert, sp_name: sp_name, sp_create_link: sp_create_link) if alert.present? end def sp_logo diff --git a/spec/decorators/service_provider_session_decorator_spec.rb b/spec/decorators/service_provider_session_decorator_spec.rb index 4d73989b86f..b89709ed6ef 100644 --- a/spec/decorators/service_provider_session_decorator_spec.rb +++ b/spec/decorators/service_provider_session_decorator_spec.rb @@ -66,7 +66,16 @@ context 'sp does not have a custom alert' do let(:sp) { build_stubbed(:service_provider_without_help_text) } - it 'uses the custom template' do + it 'returns nil' do + expect(subject.custom_alert('sign_in')). + to be_nil + end + end + + context 'sp has a blank custom alert' do + let(:sp) { build_stubbed(:service_provider, :with_blank_help_text) } + + it 'returns nil' do expect(subject.custom_alert('sign_in')). to be_nil end diff --git a/spec/factories/service_providers.rb b/spec/factories/service_providers.rb index 3926fb41449..e53e46c4a04 100644 --- a/spec/factories/service_providers.rb +++ b/spec/factories/service_providers.rb @@ -22,6 +22,15 @@ end end + trait :with_blank_help_text do + friendly_name { 'Test Service Provider with blank help text' } + help_text do + { 'sign_in': { en: '' }, + 'sign_up': { en: '' }, + 'forgot_password': { en: '' } } + end + end + factory :service_provider_without_help_text, traits: [:without_help_text] end end