diff --git a/app/components/bulk_upload_error_row_component.html.erb b/app/components/bulk_upload_error_row_component.html.erb
index a24776611..6f8de6919 100644
--- a/app/components/bulk_upload_error_row_component.html.erb
+++ b/app/components/bulk_upload_error_row_component.html.erb
@@ -1,6 +1,10 @@
diff --git a/app/components/bulk_upload_error_row_component.rb b/app/components/bulk_upload_error_row_component.rb
index d50bb5388..de33fbb3a 100644
--- a/app/components/bulk_upload_error_row_component.rb
+++ b/app/components/bulk_upload_error_row_component.rb
@@ -15,6 +15,10 @@ class BulkUploadErrorRowComponent < ViewComponent::Base
bulk_upload_errors.first.tenant_code
end
+ def purchaser_code
+ bulk_upload_errors.first.purchaser_code
+ end
+
def property_ref
bulk_upload_errors.first.property_ref
end
@@ -33,4 +37,12 @@ class BulkUploadErrorRowComponent < ViewComponent::Base
def bulk_upload
bulk_upload_errors.first.bulk_upload
end
+
+ def lettings?
+ bulk_upload.log_type == "lettings"
+ end
+
+ def sales?
+ bulk_upload.log_type == "sales"
+ end
end
diff --git a/db/migrate/20230103100531_rename_purchaser_code.rb b/db/migrate/20230103100531_rename_purchaser_code.rb
new file mode 100644
index 000000000..d6da4b67c
--- /dev/null
+++ b/db/migrate/20230103100531_rename_purchaser_code.rb
@@ -0,0 +1,5 @@
+class RenamePurchaserCode < ActiveRecord::Migration[7.0]
+ def change
+ rename_column :bulk_upload_errors, :purchase_code, :purchaser_code
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index d85f40d4d..7e0edc19d 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -20,7 +20,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_01_04_164318) do
t.text "row"
t.text "tenant_code"
t.text "property_ref"
- t.text "purchase_code"
+ t.text "purchaser_code"
t.text "field"
t.text "error"
t.datetime "created_at", null: false
diff --git a/spec/factories/bulk_upload_error.rb b/spec/factories/bulk_upload_error.rb
index 06cf45c9d..1f42f763d 100644
--- a/spec/factories/bulk_upload_error.rb
+++ b/spec/factories/bulk_upload_error.rb
@@ -7,6 +7,7 @@ FactoryBot.define do
cell { "#{('A'..'Z').to_a.sample}#{row}" }
tenant_code { SecureRandom.hex(4) }
property_ref { SecureRandom.hex(4) }
+ purchaser_code { SecureRandom.hex(4) }
field { "field_#{rand(134)}" }
error { "some error" }
end
diff --git a/spec/requests/bulk_upload_sales_results_controller_spec.rb b/spec/requests/bulk_upload_sales_results_controller_spec.rb
index f18bbd605..d4e029502 100644
--- a/spec/requests/bulk_upload_sales_results_controller_spec.rb
+++ b/spec/requests/bulk_upload_sales_results_controller_spec.rb
@@ -31,6 +31,19 @@ RSpec.describe BulkUploadSalesResultsController, type: :request do
expect(response.body).to include(bulk_upload.filename)
end
+ it "renders Purchaser code" do
+ get "/sales-logs/bulk-upload-results/#{bulk_upload.id}"
+
+ expect(response.body).to include("Purchaser code: #{bulk_upload.bulk_upload_errors.first.purchaser_code}")
+ end
+
+ it "does not render tenant code or property reference" do
+ get "/sales-logs/bulk-upload-results/#{bulk_upload.id}"
+
+ expect(response.body).not_to include("Tenant code:")
+ expect(response.body).not_to include("Property reference:")
+ 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) }