From 2c16bac5f8e96f8a031181f6e1eeaaff50f092ff Mon Sep 17 00:00:00 2001 From: decabeza Date: Wed, 2 Feb 2022 13:20:39 +0100 Subject: [PATCH] Manage the render of the price field on public budget headings --- .../budgets/groups_and_headings_component.rb | 2 +- .../budgets/single_heading_component.html.erb | 2 +- .../budgets/single_heading_component.rb | 2 +- spec/system/budgets/budgets_spec.rb | 28 +++++++++++++++++++ 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/app/components/budgets/groups_and_headings_component.rb b/app/components/budgets/groups_and_headings_component.rb index b16357e4b..115695034 100644 --- a/app/components/budgets/groups_and_headings_component.rb +++ b/app/components/budgets/groups_and_headings_component.rb @@ -8,6 +8,6 @@ class Budgets::GroupsAndHeadingsComponent < ApplicationComponent private def price(heading) - tag.span(budget.formatted_heading_price(heading)) + tag.span(budget.formatted_heading_price(heading)) if budget.show_money? end end diff --git a/app/components/budgets/single_heading_component.html.erb b/app/components/budgets/single_heading_component.html.erb index 05fb1898d..a8550e402 100644 --- a/app/components/budgets/single_heading_component.html.erb +++ b/app/components/budgets/single_heading_component.html.erb @@ -1,4 +1,4 @@

<%= title %>

-

<%= price %>

+ <%= price %>
diff --git a/app/components/budgets/single_heading_component.rb b/app/components/budgets/single_heading_component.rb index d9711775a..c35068694 100644 --- a/app/components/budgets/single_heading_component.rb +++ b/app/components/budgets/single_heading_component.rb @@ -16,6 +16,6 @@ class Budgets::SingleHeadingComponent < ApplicationComponent end def price - budget.formatted_heading_price(heading) + tag.p budget.formatted_heading_price(heading) if budget.show_money? end end diff --git a/spec/system/budgets/budgets_spec.rb b/spec/system/budgets/budgets_spec.rb index 3e49b59c9..b0a8ce7f9 100644 --- a/spec/system/budgets/budgets_spec.rb +++ b/spec/system/budgets/budgets_spec.rb @@ -119,6 +119,34 @@ describe "Budgets" do end end + scenario "Hide money on single heading budget" do + budget = create(:budget, :finished, :hide_money) + heading = create(:budget_heading, budget: budget) + + visit budgets_path + + within("#budget_info") do + expect(page).to have_content heading.name + expect(page).not_to have_content "€" + end + end + + scenario "Hide money on multiple headings budget" do + budget = create(:budget, :finished, :hide_money) + heading1 = create(:budget_heading, budget: budget) + heading2 = create(:budget_heading, budget: budget) + heading3 = create(:budget_heading, budget: budget) + + visit budgets_path + + within("#budget_info") do + expect(page).to have_content heading1.name + expect(page).to have_content heading2.name + expect(page).to have_content heading3.name + expect(page).not_to have_content "€" + end + end + scenario "No budgets" do Budget.destroy_all