diff --git a/app/components/check_answers_summary_list_card_component.html.erb b/app/components/check_answers_summary_list_card_component.html.erb index 31c3bffac..4be77aff0 100644 --- a/app/components/check_answers_summary_list_card_component.html.erb +++ b/app/components/check_answers_summary_list_card_component.html.erb @@ -36,7 +36,7 @@ <% if @log.collection_period_open? %> <% row.action( text: question.action_text(log), - href: question.action_href(log, question.page.id), + href: action_href(log, question.page.id), visually_hidden_text: question.check_answer_label.to_s.downcase, ) %> <% end %> diff --git a/app/components/check_answers_summary_list_card_component.rb b/app/components/check_answers_summary_list_card_component.rb index 62469e324..86218105f 100644 --- a/app/components/check_answers_summary_list_card_component.rb +++ b/app/components/check_answers_summary_list_card_component.rb @@ -28,6 +28,10 @@ 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") + end + private def unanswered_value diff --git a/app/helpers/form_page_helper.rb b/app/helpers/form_page_helper.rb new file mode 100644 index 000000000..74dbf9367 --- /dev/null +++ b/app/helpers/form_page_helper.rb @@ -0,0 +1,5 @@ +module FormPageHelper + def action_href(log, page_id) + send("#{log.model_name.param_key}_#{page_id}_path", log, referrer: "check_answers") + end +end diff --git a/app/helpers/interruption_screen_helper.rb b/app/helpers/interruption_screen_helper.rb index 71c9c340b..e8bb85379 100644 --- a/app/helpers/interruption_screen_helper.rb +++ b/app/helpers/interruption_screen_helper.rb @@ -33,6 +33,10 @@ module InterruptionScreenHelper question.page.affected_question_ids.map { |question_id| log.form.get_question(question_id, log) } end + def interruption_action_href(log, page_id, current_page_id) + send("#{log.model_name.param_key}_#{page_id}_path", log, referrer: current_page_id) + end + private def get_value_from_argument(log, argument) diff --git a/app/models/form/question.rb b/app/models/form/question.rb index b79acf804..82d3a09b5 100644 --- a/app/models/form/question.rb +++ b/app/models/form/question.rb @@ -120,14 +120,6 @@ class Form::Question end end - def action_href(log, page_id) - "/#{log.model_name.param_key.dasherize}s/#{log.id}/#{page_id.to_s.dasherize}?referrer=check_answers" - end - - def interruption_action_href(log, page_id, current_page_id) - "/#{log.model_name.param_key.dasherize}s/#{log.id}/#{page_id.to_s.dasherize}?referrer=#{current_page_id}" - end - def unanswered?(log) return answer_options.keys.none? { |key| value_is_yes?(log[key]) } if type == "checkbox" diff --git a/app/views/form/_check_answers_summary_list.html.erb b/app/views/form/_check_answers_summary_list.html.erb index 653cd610d..a3cc72563 100644 --- a/app/views/form/_check_answers_summary_list.html.erb +++ b/app/views/form/_check_answers_summary_list.html.erb @@ -23,7 +23,7 @@ <% if @log.collection_period_open? %> <% row.action( text: question.action_text(@log), - href: question.action_href(@log, question.page.id), + href: action_href(@log, question.page.id), visually_hidden_text: question.check_answer_label.to_s.downcase, ) %> <% end %> diff --git a/app/views/form/_interruption_screen_question.html.erb b/app/views/form/_interruption_screen_question.html.erb index 155a80650..498618321 100644 --- a/app/views/form/_interruption_screen_question.html.erb +++ b/app/views/form/_interruption_screen_question.html.erb @@ -38,7 +38,7 @@ <% if @log.collection_period_open? %> <% row.action( text: affected_question.action_text(@log), - href: affected_question.interruption_action_href(@log, affected_question.page.id, question.page.id), + href: interruption_action_href(@log, affected_question.page.id, question.page.id), visually_hidden_text: affected_question.check_answer_label.to_s.downcase, ) %> <% end %> diff --git a/spec/models/form/question_spec.rb b/spec/models/form/question_spec.rb index ede6636f7..0a2867e7f 100644 --- a/spec/models/form/question_spec.rb +++ b/spec/models/form/question_spec.rb @@ -259,7 +259,7 @@ RSpec.describe Form::Question, type: :model do it "has an update answer link href helper" do lettings_log.id = 1 - expect(question.action_href(lettings_log, page.id)).to eq("/lettings-logs/1/net-income?referrer=check_answers") + expect(action_href(lettings_log, page.id)).to eq("/lettings-logs/1/net-income?referrer=check_answers") end context "when the question has an inferred answer" do