diff --git a/app/components/shared/banner_component.html.erb b/app/components/shared/banner_component.html.erb index fe020302a..cbea18d0e 100644 --- a/app/components/shared/banner_component.html.erb +++ b/app/components/shared/banner_component.html.erb @@ -1,5 +1,3 @@ -<% if banner %> - -<% end %> + diff --git a/app/components/shared/banner_component.rb b/app/components/shared/banner_component.rb index de61e1602..21aba7c65 100644 --- a/app/components/shared/banner_component.rb +++ b/app/components/shared/banner_component.rb @@ -13,6 +13,10 @@ class Shared::BannerComponent < ApplicationComponent end end + def render? + banner && (banner.title.present? || banner.description.present?) + end + private def link diff --git a/spec/components/shared/banner_component_spec.rb b/spec/components/shared/banner_component_spec.rb index 6d2512373..403a45e9d 100644 --- a/spec/components/shared/banner_component_spec.rb +++ b/spec/components/shared/banner_component_spec.rb @@ -31,6 +31,14 @@ describe Shared::BannerComponent do expect(page).not_to have_content "Proposal banner" end + it "does not render an empty banner" do + banner = build(:banner, title: "", description: "") + + render_inline Shared::BannerComponent.new(banner) + + expect(page).not_to be_rendered + end + context "several banners available in the same section" do before do create(:banner,