From a34424013708a59c9c9f55c23dbc642aec3d704b Mon Sep 17 00:00:00 2001 From: Kat Date: Fri, 31 Mar 2023 12:22:03 +0100 Subject: [PATCH] Add errors to correct fields when housingneeds don't know is selected --- .../lettings/year2022/row_parser.rb | 6 ++++- .../lettings/year2022/row_parser_spec.rb | 24 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/app/services/bulk_upload/lettings/year2022/row_parser.rb b/app/services/bulk_upload/lettings/year2022/row_parser.rb index 2bc747d57..1d761f988 100644 --- a/app/services/bulk_upload/lettings/year2022/row_parser.rb +++ b/app/services/bulk_upload/lettings/year2022/row_parser.rb @@ -532,8 +532,12 @@ private end def validate_dont_know_disabled_needs_conjunction - if field_60 == 1 && [field_55, field_56, field_57, field_58].compact.count.positive? + if field_60 == 1 && [field_55, field_56, field_57, field_58].count(1).positive? errors.add(:field_60, I18n.t("validations.household.housingneeds.dont_know_disabled_needs_conjunction")) + errors.add(:field_55, I18n.t("validations.household.housingneeds.dont_know_disabled_needs_conjunction")) if field_55 == 1 + errors.add(:field_56, I18n.t("validations.household.housingneeds.dont_know_disabled_needs_conjunction")) if field_56 == 1 + errors.add(:field_57, I18n.t("validations.household.housingneeds.dont_know_disabled_needs_conjunction")) if field_57 == 1 + errors.add(:field_58, I18n.t("validations.household.housingneeds.dont_know_disabled_needs_conjunction")) if field_58 == 1 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 8cb569d89..ca4fc0b0b 100644 --- a/spec/services/bulk_upload/lettings/year2022/row_parser_spec.rb +++ b/spec/services/bulk_upload/lettings/year2022/row_parser_spec.rb @@ -1486,6 +1486,30 @@ RSpec.describe BulkUpload::Lettings::Year2022::RowParser do expect(parser.errors[:field_57]).to be_blank end end + + context "when housingneeds a and h are selected" do + let(:attributes) { { bulk_upload:, field_55: "1", field_60: "1" } } + + it "sets error on housingneeds a and h" do + parser.valid? + expect(parser.errors[:field_60]).to include("Don’t know disabled access needs can’t be selected if you have selected fully wheelchair-accessible housing, wheelchair access to essential rooms, level access housing or other disabled access needs") + expect(parser.errors[:field_55]).to include("Don’t know disabled access needs can’t be selected if you have selected fully wheelchair-accessible housing, wheelchair access to essential rooms, level access housing or other disabled access needs") + expect(parser.errors[:field_56]).to be_blank + expect(parser.errors[:field_57]).to be_blank + end + end + + context "when only housingneeds h is selected" do + let(:attributes) { { bulk_upload:, field_55: "0", field_60: "1" } } + + it "does not add any housingneeds errors" do + parser.valid? + expect(parser.errors[:field_60]).to be_blank + expect(parser.errors[:field_55]).to be_blank + expect(parser.errors[:field_56]).to be_blank + expect(parser.errors[:field_57]).to be_blank + end + end end describe "#housingneeds_type" do