From 0ea484dd1d01b87ad296c48c416216446966276f Mon Sep 17 00:00:00 2001 From: Kat Date: Thu, 27 Apr 2023 11:49:22 +0100 Subject: [PATCH] Update action_href to be reusable --- app/components/check_answers_summary_list_card_component.rb | 4 ++-- app/helpers/form_page_helper.rb | 4 ++-- app/helpers/interruption_screen_helper.rb | 4 ---- app/views/form/_interruption_screen_question.html.erb | 2 +- spec/helpers/form_page_helper_spec.rb | 4 ++++ spec/helpers/interruption_screen_helper_spec.rb | 6 ------ 6 files changed, 9 insertions(+), 15 deletions(-) diff --git a/app/components/check_answers_summary_list_card_component.rb b/app/components/check_answers_summary_list_card_component.rb index 86218105f..c9409462a 100644 --- a/app/components/check_answers_summary_list_card_component.rb +++ b/app/components/check_answers_summary_list_card_component.rb @@ -28,8 +28,8 @@ class CheckAnswersSummaryListCardComponent < ViewComponent::Base "Person #{question.check_answers_card_number}" end - def action_href(log, page_id) - send("#{log.model_name.param_key}_#{page_id}_path", log, referrer: "check_answers") + def action_href(log, page_id, referrer = "check_answers") + send("#{log.model_name.param_key}_#{page_id}_path", log, referrer:) end private diff --git a/app/helpers/form_page_helper.rb b/app/helpers/form_page_helper.rb index 74dbf9367..e12d7fbb7 100644 --- a/app/helpers/form_page_helper.rb +++ b/app/helpers/form_page_helper.rb @@ -1,5 +1,5 @@ module FormPageHelper - def action_href(log, page_id) - send("#{log.model_name.param_key}_#{page_id}_path", log, referrer: "check_answers") + def action_href(log, page_id, referrer = "check_answers") + send("#{log.model_name.param_key}_#{page_id}_path", log, referrer:) end end diff --git a/app/helpers/interruption_screen_helper.rb b/app/helpers/interruption_screen_helper.rb index 6247754da..e3ad5ed4b 100644 --- a/app/helpers/interruption_screen_helper.rb +++ b/app/helpers/interruption_screen_helper.rb @@ -33,10 +33,6 @@ module InterruptionScreenHelper question.page.affected_question_ids.map { |question_id| log.form.get_question(question_id, log) }.compact end - def interruption_action_href(log, page_id) - send("#{log.model_name.param_key}_#{page_id}_path", log, referrer: "interruption_screen") - end - private def get_value_from_argument(log, argument) diff --git a/app/views/form/_interruption_screen_question.html.erb b/app/views/form/_interruption_screen_question.html.erb index b07925d14..105d8e20a 100644 --- a/app/views/form/_interruption_screen_question.html.erb +++ b/app/views/form/_interruption_screen_question.html.erb @@ -31,7 +31,7 @@ <% if @log.collection_period_open? %> <% row.action( text: affected_question.action_text(@log), - href: interruption_action_href(@log, affected_question.page.id), + href: action_href(@log, affected_question.page.id, "interruption_screen"), visually_hidden_text: affected_question.check_answer_label.to_s.downcase, ) %> <% end %> diff --git a/spec/helpers/form_page_helper_spec.rb b/spec/helpers/form_page_helper_spec.rb index 4e940d03b..db06d8844 100644 --- a/spec/helpers/form_page_helper_spec.rb +++ b/spec/helpers/form_page_helper_spec.rb @@ -8,5 +8,9 @@ RSpec.describe FormPageHelper do lettings_log.id = 1 expect(action_href(lettings_log, "net_income")).to eq("/lettings-logs/1/net-income?referrer=check_answers") end + + it "returns a correct referrer in the url" do + expect(action_href(lettings_log, "retirement_value_check"), referrer: "interruption_screen").to eq("/lettings-logs/#{lettings_log.id}/retirement-value-check?referrer=interruption_screen") + end end end diff --git a/spec/helpers/interruption_screen_helper_spec.rb b/spec/helpers/interruption_screen_helper_spec.rb index 5f9257a9e..4af16d8a1 100644 --- a/spec/helpers/interruption_screen_helper_spec.rb +++ b/spec/helpers/interruption_screen_helper_spec.rb @@ -250,10 +250,4 @@ RSpec.describe InterruptionScreenHelper do expect(soft_validation_affected_questions(question, lettings_log).map(&:id)).to eq(%w[age1 ecstat1]) end end - - describe "interruption_action_href" do - it "returns a path to given question with interruption screen referrer" do - expect(interruption_action_href(lettings_log, "retirement_value_check")).to eq("/lettings-logs/#{lettings_log.id}/retirement-value-check?referrer=interruption_screen") - end - end end