Browse Source

group bulk upload errors by row on results

pull/1091/head
Phil Lee 4 years ago
parent
commit
f01eff3632
  1. 2
      app/components/bulk_upload_error_row_component.html.erb
  2. 4
      app/views/bulk_upload_lettings_results/show.html.erb
  3. 12
      spec/requests/bulk_upload_lettings_results_controller_spec.rb

2
app/components/bulk_upload_error_row_component.html.erb

@ -1,4 +1,4 @@
<div class="x-govuk-summary-card"> <div class="x-govuk-summary-card govuk-!-margin-bottom-6">
<div class="x-govuk-summary-card__header"> <div class="x-govuk-summary-card__header">
<h3 class="x-govuk-summary-card__title"><strong>Row <%= row %></strong> <span class="govuk-!-margin-left-3">Tenant code: <%= tenant_code %></span> <span class="govuk-!-margin-left-3">Property reference: <%= property_ref %></span></h3> <h3 class="x-govuk-summary-card__title"><strong>Row <%= row %></strong> <span class="govuk-!-margin-left-3">Tenant code: <%= tenant_code %></span> <span class="govuk-!-margin-left-3">Property reference: <%= property_ref %></span></h3>
</div> </div>

4
app/views/bulk_upload_lettings_results/show.html.erb

@ -13,6 +13,8 @@
<div class="govuk-grid-row"> <div class="govuk-grid-row">
<div class="govuk-grid-column-full"> <div class="govuk-grid-column-full">
<%= render BulkUploadErrorRowComponent.new(bulk_upload_errors: @bulk_upload.bulk_upload_errors) %> <% @bulk_upload.bulk_upload_errors.group_by(&:row).each do |_row, errors_for_row| %>
<%= render BulkUploadErrorRowComponent.new(bulk_upload_errors: errors_for_row) %>
<% end %>
</div> </div>
</div> </div>

12
spec/requests/bulk_upload_lettings_results_controller_spec.rb

@ -30,5 +30,17 @@ RSpec.describe BulkUploadLettingsResultsController, type: :request do
expect(response).to be_successful expect(response).to be_successful
expect(response.body).to include(bulk_upload.filename) expect(response.body).to include(bulk_upload.filename)
end end
context "when there are errors for more than 1 row" do
let(:bulk_upload_errors) { [bulk_upload_error_1, bulk_upload_error_2] }
let(:bulk_upload_error_1) { create(:bulk_upload_error, row: 1) }
let(:bulk_upload_error_2) { create(:bulk_upload_error, row: 2) }
it "renders no. of tables equal to no. of rows with errors" do
get "/lettings-logs/bulk-upload-results/#{bulk_upload.id}"
expect(response.body).to include("<table").twice
end
end
end end
end end

Loading…
Cancel
Save