Browse Source

Display duplicate check answers for logs

pull/1763/head
Kat 3 years ago
parent
commit
1bd5bfd9c4
  1. 2
      app/controllers/duplicate_logs_controller.rb
  2. 37
      app/views/duplicate_logs/_check_answers_summary_list.html.erb
  3. 25
      app/views/duplicate_logs/_duplicate_log_check_answers.erb
  4. 1
      app/views/duplicate_logs/show.erb
  5. 16
      spec/requests/duplicate_logs_controller_spec.rb

2
app/controllers/duplicate_logs_controller.rb

@ -3,5 +3,7 @@ class DuplicateLogsController < ApplicationController
@log = LettingsLog.find(params[:lettings_log_id])
@duplicate_logs = LettingsLog.duplicate_logs_for_organisation(current_user.organisation_id, @log)
@all_duplicates = [@log, *@duplicate_logs]
duplicate_check_question_ids = %w[startdate tenancycode postcode_full age1 sex1 ecstat1 tcharge]
@duplicate_check_questions = duplicate_check_question_ids.map { |question_id| @log.form.get_question(question_id, @log) }.compact
end
end

37
app/views/duplicate_logs/_check_answers_summary_list.html.erb

@ -1,37 +0,0 @@
<%= govuk_summary_list do |summary_list| %>
<% questions.each do |question| %>
<% summary_list.row do |row| %>
<% row.key { get_question_label(question) } %>
<% row.value do %>
<%= simple_format(
get_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? %>
<%= simple_format(
extra_value,
wrapper_tag: "span",
class: "govuk-!-font-weight-regular app-!-colour-muted",
) %>
<% end %>
<% question.get_inferred_answers(@log).each do |inferred_answer| %>
<span class="govuk-!-font-weight-regular app-!-colour-muted"><%= inferred_answer %></span>
<% end %>
<% end %>
<% if @log.collection_period_open_for_editing? %>
<% row.action(
text: question.action_text(@log),
href: action_href(@log, question.page.id, referrer),
visually_hidden_text: question.check_answer_label.to_s.downcase,
) %>
<% end %>
<% end %>
<% end %>
<% end %>

25
app/views/duplicate_logs/_duplicate_log_check_answers.erb

@ -0,0 +1,25 @@
<div class="x-govuk-summary-card govuk-!-margin-bottom-6">
<div class="x-govuk-summary-card__body">
<%= govuk_summary_list do |summary_list| %>
<% @duplicate_check_questions.each do |question| %>
<% summary_list.row do |row| %>
<% row.key { get_question_label(question) } %>
<% row.value do %>
<%= simple_format(
get_answer_label(question, @log),
wrapper_tag: "span",
class: "govuk-!-margin-right-4",
) %>
<% end %>
<% row.action(
text: question.action_text(@log),
href: action_href(@log, question.page.id),
visually_hidden_text: question.check_answer_label.to_s.downcase,
) %>
<% end %>
<% end %>
<% end %>
</div>
</div>

1
app/views/duplicate_logs/show.erb

@ -10,6 +10,7 @@
<% @all_duplicates.each do |log| %>
<%= render partial: "duplicate_log", locals: { log: log } %>
<%= render partial: "duplicate_log_check_answers", locals: { log: log } %>
<% end %>
</div>
</div>

16
spec/requests/duplicate_logs_controller_spec.rb

@ -8,6 +8,7 @@ RSpec.describe DuplicateLogsController, type: :request do
let(:lettings_log) do
create(
:lettings_log,
:completed,
created_by: user,
)
end
@ -18,8 +19,8 @@ RSpec.describe DuplicateLogsController, type: :request do
end
describe "GET" do
context "with multiple duplicate logs" do
let(:duplicate_logs) { create_list(:lettings_log, 2) }
context "with multiple duplicate lettings logs" do
let(:duplicate_logs) { create_list(:lettings_log, 2, :completed) }
before do
allow(LettingsLog).to receive(:duplicate_logs_for_organisation).and_return(duplicate_logs)
@ -31,6 +32,17 @@ RSpec.describe DuplicateLogsController, type: :request do
expect(page).to have_link("Log #{duplicate_logs.first.id}", href: "/lettings-logs/#{duplicate_logs.first.id}")
expect(page).to have_link("Log #{duplicate_logs.second.id}", href: "/lettings-logs/#{duplicate_logs.second.id}")
end
it "displays check your answers for each log with correct questions" 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: 3)
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)
expect(page).to have_content("Household rent and charges", count: 3)
expect(page).to have_link("Change", count: 21)
end
end
end
end

Loading…
Cancel
Save