From 0797da33eaf4c5f5a150e95c46805488631a889f Mon Sep 17 00:00:00 2001 From: Kat Date: Wed, 10 May 2023 09:57:43 +0100 Subject: [PATCH] Validate no housing needs answers for 2022 --- .../bulk_upload/lettings/year2022/row_parser.rb | 11 +++++++++++ .../lettings/year2022/row_parser_spec.rb | 14 ++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/app/services/bulk_upload/lettings/year2022/row_parser.rb b/app/services/bulk_upload/lettings/year2022/row_parser.rb index 62cf9e872..953487cd7 100644 --- a/app/services/bulk_upload/lettings/year2022/row_parser.rb +++ b/app/services/bulk_upload/lettings/year2022/row_parser.rb @@ -340,6 +340,7 @@ class BulkUpload::Lettings::Year2022::RowParser validate :validate_no_disabled_needs_conjunction, on: :after_log validate :validate_dont_know_disabled_needs_conjunction, on: :after_log validate :validate_no_and_dont_know_disabled_needs_conjunction, on: :after_log + validate :validate_no_housing_needs_questions_answered, on: :after_log validate :validate_if_log_already_exists, on: :after_log, if: -> { FeatureToggle.bulk_upload_duplicate_log_check_enabled? } validate :validate_owning_org_data_given, on: :after_log @@ -648,6 +649,16 @@ private end end + def validate_no_housing_needs_questions_answered + if [field_55, field_56, field_57, field_58, field_59, field_60].all?(&:blank?) + errors.add(:field_59, I18n.t("validations.not_answered", question: "anybody with disabled access needs")) + errors.add(:field_58, I18n.t("validations.not_answered", question: "other access needs")) + %i[field_55 field_56 field_57].each do |field| + errors.add(field, I18n.t("validations.not_answered", question: "disabled access needs type")) + end + end + end + def validate_lettings_type_matches_bulk_upload if [1, 3, 5, 7, 9, 11].include?(field_1) && !bulk_upload.general_needs? errors.add(:field_1, I18n.t("validations.setup.lettype.supported_housing_mismatch")) 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 99adb049a..0587c0f51 100644 --- a/spec/services/bulk_upload/lettings/year2022/row_parser_spec.rb +++ b/spec/services/bulk_upload/lettings/year2022/row_parser_spec.rb @@ -959,6 +959,20 @@ RSpec.describe BulkUpload::Lettings::Year2022::RowParser do end end + describe "#field_55 - #field_60" do + context "when all blank" do + let(:attributes) { setup_section_params.merge({ field_55: nil, field_56: nil, field_57: nil, field_58: nil, field_59: nil, field_60: nil }) } + + it "adds errors to correct fields" do + expect(parser.errors[:field_55]).to be_present + expect(parser.errors[:field_56]).to be_present + expect(parser.errors[:field_57]).to be_present + expect(parser.errors[:field_58]).to be_present + expect(parser.errors[:field_59]).to be_present + 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 }) }