diff --git a/app/views/bulk_upload_lettings_results/show.html.erb b/app/views/bulk_upload_lettings_results/show.html.erb
index a9dd4192f..452926787 100644
--- a/app/views/bulk_upload_lettings_results/show.html.erb
+++ b/app/views/bulk_upload_lettings_results/show.html.erb
@@ -13,6 +13,8 @@
- <%= 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 %>
diff --git a/spec/requests/bulk_upload_lettings_results_controller_spec.rb b/spec/requests/bulk_upload_lettings_results_controller_spec.rb
index 673c4f5bc..828242b83 100644
--- a/spec/requests/bulk_upload_lettings_results_controller_spec.rb
+++ b/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.body).to include(bulk_upload.filename)
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("