From 20a99355f06326593d4eeea221cf82fdd9171bed Mon Sep 17 00:00:00 2001 From: Phil Lee Date: Thu, 15 Dec 2022 09:46:01 +0000 Subject: [PATCH] bulk upload error shows correct question - depending on log type it will show relevant question for the field concerned --- app/components/bulk_upload_error_row_component.rb | 13 ++++++++++++- app/services/bulk_upload/sales_validator.rb | 4 ++++ .../bulk_upload_error_row_component_spec.rb | 15 ++++++++++++++- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/app/components/bulk_upload_error_row_component.rb b/app/components/bulk_upload_error_row_component.rb index e244ebd7f..817b80dee 100644 --- a/app/components/bulk_upload_error_row_component.rb +++ b/app/components/bulk_upload_error_row_component.rb @@ -20,6 +20,17 @@ class BulkUploadErrorRowComponent < ViewComponent::Base end def question_for_field(field) - BulkUpload::LettingsValidator.question_for_field(field.to_sym) + case bulk_upload.log_type + when "lettings" + BulkUpload::LettingsValidator.question_for_field(field.to_sym) + when "sales" + BulkUpload::SalesValidator.question_for_field(field.to_sym) + else + "Unknown question" + end + end + + def bulk_upload + bulk_upload_errors.first.bulk_upload end end diff --git a/app/services/bulk_upload/sales_validator.rb b/app/services/bulk_upload/sales_validator.rb index 37a592c28..9e6e95fa7 100644 --- a/app/services/bulk_upload/sales_validator.rb +++ b/app/services/bulk_upload/sales_validator.rb @@ -126,4 +126,8 @@ class BulkUpload::SalesValidator field_124: "Was a mortgage used for the purchase of this property? - Discounted ownership", field_125: "Was a mortgage used for the purchase of this property? - Outright sale", }.freeze + + def self.question_for_field(field) + QUESTIONS[field] + end end diff --git a/spec/components/bulk_upload_error_row_component_spec.rb b/spec/components/bulk_upload_error_row_component_spec.rb index bc80f264d..86222acf4 100644 --- a/spec/components/bulk_upload_error_row_component_spec.rb +++ b/spec/components/bulk_upload_error_row_component_spec.rb @@ -7,10 +7,12 @@ RSpec.describe BulkUploadErrorRowComponent, type: :component do let(:property_ref) { SecureRandom.hex(4) } let(:field) { :field_134 } let(:error) { "some error" } + let(:bulk_upload) { create(:bulk_upload, :lettings) } let(:bulk_upload_errors) do [ FactoryBot.build( :bulk_upload_error, + bulk_upload:, row:, tenant_code:, property_ref:, @@ -41,12 +43,23 @@ RSpec.describe BulkUploadErrorRowComponent, type: :component do expect(result).to have_content(expected) end - it "renders the question" do + it "renders the question for lettings" do expected = "Is this letting a renewal?" result = render_inline(described_class.new(bulk_upload_errors:)) expect(result).to have_content(expected) end + context "when a sales bulk upload" do + let(:bulk_upload) { create(:bulk_upload, :sales) } + let(:field) { :field_87 } + + it "renders the question for sales" do + expected = "What is the full purchase price?" + result = render_inline(described_class.new(bulk_upload_errors:)) + expect(result).to have_content(expected) + end + end + it "renders the error" do expected = error result = render_inline(described_class.new(bulk_upload_errors:))