Browse Source

validate lettings allocation

pull/2099/head
Kat 2 years ago
parent
commit
1b7ba732ac
  1. 9
      app/services/bulk_upload/lettings/year2023/row_parser.rb
  2. 12
      spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb

9
app/services/bulk_upload/lettings/year2023/row_parser.rb

@ -384,6 +384,7 @@ class BulkUpload::Lettings::Year2023::RowParser
validate :validate_no_housing_needs_questions_answered, on: :after_log validate :validate_no_housing_needs_questions_answered, on: :after_log
validate :validate_reasonable_preference_homeless, on: :after_log validate :validate_reasonable_preference_homeless, on: :after_log
validate :validate_condition_effects, on: :after_log validate :validate_condition_effects, on: :after_log
validate :validate_lettings_allocation, on: :after_log
validate :validate_if_log_already_exists, on: :after_log, if: -> { FeatureToggle.bulk_upload_duplicate_log_check_enabled? } 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 validate :validate_owning_org_data_given, on: :after_log
@ -669,6 +670,14 @@ private
end end
end end
def validate_lettings_allocation
if cbl.blank? && cap.blank? && chr.blank?
errors.add(:field_116, I18n.t("validations.not_answered", question: "was the letting made under the Choice-Based Lettings (CBL)?"))
errors.add(:field_117, I18n.t("validations.not_answered", question: "was the letting made under the Common Housing Register (CHR)?"))
errors.add(:field_118, I18n.t("validations.not_answered", question: "was the letting made under the Common Allocation Policy (CAP)?"))
end
end
def household_no_illness? def household_no_illness?
field_89 != 1 field_89 != 1
end end

12
spec/services/bulk_upload/lettings/year2023/row_parser_spec.rb

@ -1217,6 +1217,18 @@ RSpec.describe BulkUpload::Lettings::Year2023::RowParser do
end end
end end
describe "#field_116, 117, 118" do
context "when none of field_116, 117, 118 are given" do
let(:attributes) { { bulk_upload:, field_116: "", field_117: "", field_118: "", field_89: "1" } }
it "sets correct errors" do
expect(parser.errors[:field_116]).to include("You must answer was the letting made under the Choice-Based Lettings (CBL)?")
expect(parser.errors[:field_117]).to include("You must answer was the letting made under the Common Housing Register (CHR)?")
expect(parser.errors[:field_118]).to include("You must answer was the letting made under the Common Allocation Policy (CAP)?")
end
end
end
describe "#field_105, field_110 - 15" do describe "#field_105, field_110 - 15" do
context "when there is a reasonable preference but none is given" do context "when there is a reasonable preference but none is given" do
let(:attributes) { { bulk_upload:, field_110: "1", field_111: nil, field_112: nil, field_113: nil, field_114: nil, field_115: nil } } let(:attributes) { { bulk_upload:, field_110: "1", field_111: nil, field_112: nil, field_113: nil, field_114: nil, field_115: nil } }

Loading…
Cancel
Save