From 53ff81dfdf91dda4556b12966738f82371becc7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Thu, 20 Feb 2025 18:30:57 +0100 Subject: [PATCH] Unify code applying the colors of a process We had some duplication because the `css_for_process_header` was using an instance variable, and so it couldn't be called from a partial where this instance variable wasn't available. Using a local variable and passing it as a parameter (as we should always do) solves the issue and lets us simplify the code. --- app/helpers/legislation_helper.rb | 10 +++++----- app/views/legislation/processes/_header.html.erb | 4 ++-- .../legislation/processes/_header_full.html.erb | 5 +---- spec/helpers/legislation_helper_spec.rb | 16 ++++++++-------- 4 files changed, 16 insertions(+), 19 deletions(-) diff --git a/app/helpers/legislation_helper.rb b/app/helpers/legislation_helper.rb index a62111397..ee13e2d96 100644 --- a/app/helpers/legislation_helper.rb +++ b/app/helpers/legislation_helper.rb @@ -18,13 +18,13 @@ module LegislationHelper } end - def banner_color? - @process.background_color.present? && @process.font_color.present? + def banner_color?(process) + process.background_color.present? && process.font_color.present? end - def css_for_process_header - if banner_color? - "background: #{@process.background_color};color: #{@process.font_color};" + def css_for_process_header(process) + if banner_color?(process) + "background: #{process.background_color};color: #{process.font_color};" end end end diff --git a/app/views/legislation/processes/_header.html.erb b/app/views/legislation/processes/_header.html.erb index 0e38798d8..110fd77bc 100644 --- a/app/views/legislation/processes/_header.html.erb +++ b/app/views/legislation/processes/_header.html.erb @@ -1,8 +1,8 @@ -
+
- <% if banner_color? %> + <% if banner_color?(@process) %> <%= link_to t("shared.back"), legislation_processes_path, class: "icon-angle-left", diff --git a/app/views/legislation/processes/_header_full.html.erb b/app/views/legislation/processes/_header_full.html.erb index 2bed4ae2b..9d715b908 100644 --- a/app/views/legislation/processes/_header_full.html.erb +++ b/app/views/legislation/processes/_header_full.html.erb @@ -12,10 +12,7 @@ <%= markdown @process.additional_info if @process.additional_info %>
- <% end %> diff --git a/spec/helpers/legislation_helper_spec.rb b/spec/helpers/legislation_helper_spec.rb index 74b61992a..bcf0a3abb 100644 --- a/spec/helpers/legislation_helper_spec.rb +++ b/spec/helpers/legislation_helper_spec.rb @@ -9,23 +9,23 @@ describe LegislationHelper do describe "banner colors presence" do it "background and font color exist" do - @process = build(:legislation_process, background_color: "#944949", font_color: "#ffffff") - expect(banner_color?).to be true + process = build(:legislation_process, background_color: "#944949", font_color: "#ffffff") + expect(banner_color?(process)).to be true end it "background color exist and font color not exist" do - @process = build(:legislation_process, background_color: "#944949", font_color: "") - expect(banner_color?).to be false + process = build(:legislation_process, background_color: "#944949", font_color: "") + expect(banner_color?(process)).to be false end it "background color not exist and font color exist" do - @process = build(:legislation_process, background_color: "", font_color: "#944949") - expect(banner_color?).to be false + process = build(:legislation_process, background_color: "", font_color: "#944949") + expect(banner_color?(process)).to be false end it "background and font color not exist" do - @process = build(:legislation_process, background_color: "", font_color: "") - expect(banner_color?).to be false + process = build(:legislation_process, background_color: "", font_color: "") + expect(banner_color?(process)).to be false end end end