diff --git a/app/helpers/check_answers_helper.rb b/app/helpers/check_answers_helper.rb
index ba6373b72..04f6e23c5 100644
--- a/app/helpers/check_answers_helper.rb
+++ b/app/helpers/check_answers_helper.rb
@@ -37,9 +37,14 @@ module CheckAnswersHelper
form.next_page(page_name)
end
- def create_update_answer_link(case_log_answer, case_log_id, page)
- link_name = case_log_answer.blank? ? "Answer" : "Change"
- link_to(link_name, "/case_logs/#{case_log_id}/#{page}", class: "govuk-link").html_safe
+ def create_update_answer_link(case_log, question_title, page, form)
+ question = form.questions_for_page(page)[question_title]
+ link_name = if question["type"] == "checkbox"
+ question["answer_options"].keys.any? { |key| case_log[key] == "Yes" } ? "Change" : "Answer"
+ else
+ case_log[question_title].blank? ? "Answer" : "Change"
+ end
+ link_to(link_name, "/case_logs/#{case_log.id}/#{page}", class: "govuk-link").html_safe
end
def create_next_missing_question_link(case_log_id, subsection, case_log, form)
diff --git a/app/views/form/_check_answers_table.html.erb b/app/views/form/_check_answers_table.html.erb
index eaa54075a..0ff1681db 100644
--- a/app/views/form/_check_answers_table.html.erb
+++ b/app/views/form/_check_answers_table.html.erb
@@ -7,7 +7,7 @@
<%= form.get_answer_label(@case_log, question_title) %>
- <%= create_update_answer_link(@case_log[question_title], @case_log.id, page)%>
+ <%= create_update_answer_link(@case_log, question_title, page, form)%>
diff --git a/spec/features/case_log_spec.rb b/spec/features/case_log_spec.rb
index 079c3bc55..2088e483d 100644
--- a/spec/features/case_log_spec.rb
+++ b/spec/features/case_log_spec.rb
@@ -301,6 +301,19 @@ RSpec.describe "Test Features" do
expect(page).to have_link("Change", href: "/case_logs/#{empty_case_log.id}/person_1_age")
end
+ it "should have a change link for answered questions" do
+ visit("/case_logs/#{empty_case_log.id}/household_needs/check_answers")
+ assert_selector "a", text: /Answer\z/, count: 4
+ assert_selector "a", text: "Change", count: 0
+ visit("/case_logs/#{empty_case_log.id}/accessibility_requirements")
+ check("case-log-accessibility-requirements-housingneeds-c-field")
+ click_button("Save and continue")
+ visit("/case_logs/#{empty_case_log.id}/household_needs/check_answers")
+ assert_selector "a", text: /Answer\z/, count: 3
+ assert_selector "a", text: "Change", count: 1
+ expect(page).to have_link("Change", href: "/case_logs/#{empty_case_log.id}/accessibility_requirements")
+ end
+
it "should have a link pointing to the first question if no questions are answered" do
visit("/case_logs/#{empty_case_log.id}/#{subsection}/check_answers")
expect(page).to have_content("You answered 0 of 4 questions")