From 8d8a840bab9159f9c656c40f77540c9695d1300f Mon Sep 17 00:00:00 2001 From: Kat Date: Mon, 23 Oct 2023 10:21:47 +0100 Subject: [PATCH] Display postcode data for uprn for duplicates --- app/helpers/duplicate_logs_helper.rb | 44 +++++++++++++++++++ .../_duplicate_log_check_answers.erb | 12 +++-- .../duplicate_logs_controller_spec.rb | 4 +- 3 files changed, 51 insertions(+), 9 deletions(-) diff --git a/app/helpers/duplicate_logs_helper.rb b/app/helpers/duplicate_logs_helper.rb index 29c95e003..ec8ac9185 100644 --- a/app/helpers/duplicate_logs_helper.rb +++ b/app/helpers/duplicate_logs_helper.rb @@ -53,4 +53,48 @@ module DuplicateLogsHelper def duplicate_list_header(duplicate_sets_count) duplicate_sets_count > 1 ? "Review these #{duplicate_sets_count} sets of logs" : "Review this #{duplicate_sets_count} set of logs" end + + def duplicate_log_question_label(question) + if question.id == "uprn" + "Postcode (from UPRN)" + else + get_question_label(question) + end + end + + def duplicate_log_answer_label(question, log) + if question.id == "uprn" + postcode_question = log.form.get_question("postcode_full", log) + get_answer_label(postcode_question, log) + else + get_answer_label(question, log) + end + end + + def duplicate_log_extra_value(question, log) + if question.id == "uprn" + postcode_question = log.form.get_question("postcode_full", log) + postcode_question.get_extra_check_answer_value(log) + else + question.get_extra_check_answer_value(log) + end + end + + def duplicate_log_answer_label_present(question, log, current_user) + if question.id == "uprn" + postcode_question = log.form.get_question("postcode_full", log) + postcode_question.answer_label(log, current_user).present? + else + question.answer_label(log, current_user).present? + end + end + + def duplicate_log_inferred_answers(question, log) + if question.id == "uprn" + postcode_question = log.form.get_question("postcode_full", log) + postcode_question.get_inferred_answers(log) + else + question.get_inferred_answers(log) + end + end end diff --git a/app/views/duplicate_logs/_duplicate_log_check_answers.erb b/app/views/duplicate_logs/_duplicate_log_check_answers.erb index c2e7eafae..44b788959 100644 --- a/app/views/duplicate_logs/_duplicate_log_check_answers.erb +++ b/app/views/duplicate_logs/_duplicate_log_check_answers.erb @@ -3,26 +3,24 @@ <%= govuk_summary_list do |summary_list| %> <% log.duplicate_check_questions(current_user).each do |question| %> <% summary_list.row do |row| %> - <% row.key { get_question_label(question) } %> + <% row.key { duplicate_log_question_label(question) } %> <% row.value do %> <%= simple_format( - get_answer_label(question, log), + duplicate_log_answer_label(question, log), wrapper_tag: "span", class: "govuk-!-margin-right-4", ) %> - <% extra_value = question.get_extra_check_answer_value(log) %> - - <% if extra_value && question.answer_label(log, current_user).present? %> + <% if duplicate_log_extra_value(question, log) && duplicate_log_answer_label_present(question, log, current_user) %> <%= simple_format( - extra_value, + duplicate_log_extra_value(question, log), wrapper_tag: "span", class: "govuk-!-font-weight-regular app-!-colour-muted", ) %> <% end %> - <% question.get_inferred_answers(log).each do |inferred_answer| %> + <% duplicate_log_inferred_answers(question, log).each do |inferred_answer| %> <%= inferred_answer %> <% end %> <% end %> diff --git a/spec/requests/duplicate_logs_controller_spec.rb b/spec/requests/duplicate_logs_controller_spec.rb index f04e4ff80..933a0f54d 100644 --- a/spec/requests/duplicate_logs_controller_spec.rb +++ b/spec/requests/duplicate_logs_controller_spec.rb @@ -93,7 +93,7 @@ RSpec.describe DuplicateLogsController, type: :request do expect(page).to have_content("Q5 - Tenancy start date", count: 3) expect(page).to have_content("Q7 - Tenant code", count: 3) expect(page).to have_content("Q12 - Postcode", count: 1) - expect(page).to have_content("Q11 - UPRN", count: 2) + expect(page).to have_content("Postcode (from UPRN)", count: 2) expect(page).to have_content("Q32 - Lead tenant’s age", count: 3) expect(page).to have_content("Q33 - Lead tenant’s gender identity", count: 3) expect(page).to have_content("Q37 - Lead tenant’s working situation", count: 3) @@ -208,7 +208,7 @@ RSpec.describe DuplicateLogsController, type: :request do expect(page).to have_content("Q20 - Lead buyer’s age", count: 3) expect(page).to have_content("Q21 - Buyer 1’s gender identity", count: 3) expect(page).to have_content("Q25 - Buyer 1's working situation", count: 3) - expect(page).to have_content("Q14 - UPRN", count: 3) + expect(page).to have_content("Postcode (from UPRN)", count: 3) expect(page).to have_link("Change", count: 21) expect(page).to have_link("Change", href: "/sales-logs/#{sales_log.id}/purchaser-code?first_remaining_duplicate_id=#{duplicate_logs[0].id}&original_log_id=#{sales_log.id}&referrer=duplicate_logs") expect(page).to have_link("Change", href: "/sales-logs/#{duplicate_logs[0].id}/purchaser-code?first_remaining_duplicate_id=#{sales_log.id}&original_log_id=#{sales_log.id}&referrer=duplicate_logs")