From a3235af4d5ffcbbbb702fa9a8f00c467dd4a1a51 Mon Sep 17 00:00:00 2001 From: Phil Lee Date: Fri, 5 May 2023 12:59:21 +0100 Subject: [PATCH] BU invalid options for setup fields now categorised as setup errors --- .../bulk_upload/lettings/year2022/row_parser.rb | 6 +++++- .../bulk_upload/lettings/year2023/row_parser.rb | 6 +++++- .../bulk_upload/lettings/year2022/row_parser_spec.rb | 10 ++++++++++ .../bulk_upload/lettings/year2023/row_parser_spec.rb | 8 ++++++++ 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/app/services/bulk_upload/lettings/year2022/row_parser.rb b/app/services/bulk_upload/lettings/year2022/row_parser.rb index 13b24334b..62cf9e872 100644 --- a/app/services/bulk_upload/lettings/year2022/row_parser.rb +++ b/app/services/bulk_upload/lettings/year2022/row_parser.rb @@ -455,7 +455,11 @@ private fields = field_mapping_for_errors[question_id.to_sym] || [] fields.each do |field| - errors.add(field, I18n.t("validations.invalid_option", question: QUESTIONS[field])) + if setup_question?(question) + errors.add(field, I18n.t("validations.invalid_option", question: QUESTIONS[field]), category: :setup) + else + errors.add(field, I18n.t("validations.invalid_option", question: QUESTIONS[field])) + end end end end diff --git a/app/services/bulk_upload/lettings/year2023/row_parser.rb b/app/services/bulk_upload/lettings/year2023/row_parser.rb index 39055c204..853b0dea9 100644 --- a/app/services/bulk_upload/lettings/year2023/row_parser.rb +++ b/app/services/bulk_upload/lettings/year2023/row_parser.rb @@ -472,7 +472,11 @@ private fields = field_mapping_for_errors[question_id.to_sym] || [] fields.each do |field| - errors.add(field, I18n.t("validations.invalid_option", question: QUESTIONS[field])) + if setup_question?(question) + errors.add(field, I18n.t("validations.invalid_option", question: QUESTIONS[field]), category: :setup) + else + errors.add(field, I18n.t("validations.invalid_option", question: QUESTIONS[field])) + end end end end diff --git a/spec/services/bulk_upload/lettings/year2022/row_parser_spec.rb b/spec/services/bulk_upload/lettings/year2022/row_parser_spec.rb index 5099f1494..99adb049a 100644 --- a/spec/services/bulk_upload/lettings/year2022/row_parser_spec.rb +++ b/spec/services/bulk_upload/lettings/year2022/row_parser_spec.rb @@ -949,6 +949,16 @@ RSpec.describe BulkUpload::Lettings::Year2022::RowParser do end end + describe "#field_134" do # renewal + context "when none possible option selected" do + let(:attributes) { setup_section_params.merge({ field_134: "101" }) } + + it "adds a setup error" do + expect(parser.errors.where(:field_134, category: :setup).map(&:message)).to include("Enter a valid value for Is this letting a renewal?") + end + end + end + describe "soft validations" do context "when soft validation is triggered" do let(:attributes) { setup_section_params.merge({ field_12: 22, field_35: 5 }) } diff --git a/spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb b/spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb index 4bf48b979..06ebcbc25 100644 --- a/spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb +++ b/spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb @@ -903,6 +903,14 @@ RSpec.describe BulkUpload::Lettings::Year2023::RowParser do expect(parser.errors.where(:field_6, category: :setup).map(&:message)).to eql(["You must answer property renewal"]) end end + + context "when none possible option selected" do + let(:attributes) { setup_section_params.merge({ field_6: "101" }) } + + it "adds a setup error" do + expect(parser.errors.where(:field_6, category: :setup).map(&:message)).to include("Enter a valid value for Is this letting a renewal?") + end + end end describe "#field_18" do # UPRN