From 7484c48a278487eeb88381470ab2d67b64f235cc Mon Sep 17 00:00:00 2001 From: Phil Lee Date: Tue, 3 Jan 2023 10:40:58 +0000 Subject: [PATCH] bulk upload error component renders purchaser code - when a sales log --- .../bulk_upload_error_row_component.html.erb | 6 +++++- app/components/bulk_upload_error_row_component.rb | 12 ++++++++++++ db/migrate/20230103100531_rename_purchaser_code.rb | 5 +++++ db/schema.rb | 2 +- spec/factories/bulk_upload_error.rb | 1 + .../bulk_upload_sales_results_controller_spec.rb | 13 +++++++++++++ 6 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 db/migrate/20230103100531_rename_purchaser_code.rb 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 @@
-

Row <%= row %> Tenant code: <%= tenant_code %> Property reference: <%= property_ref %>

+ <% if lettings? %> +

Row <%= row %> Tenant code: <%= tenant_code %> Property reference: <%= property_ref %>

+ <% else %> +

Row <%= row %> Purchaser code: <%= purchaser_code %>

+ <% end %>
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) }