Browse Source

Validate reasonpref_reason values for 2025

CLDC-3859-update-invalid-reasonpref
Kat 4 days ago
parent
commit
1ab5d895ed
  1. 12
      app/services/bulk_upload/lettings/year2025/row_parser.rb
  2. 13
      spec/services/bulk_upload/lettings/year2025/row_parser_spec.rb

12
app/services/bulk_upload/lettings/year2025/row_parser.rb

@ -443,6 +443,7 @@ class BulkUpload::Lettings::Year2025::RowParser
validate :validate_incomplete_soft_validations, on: :after_log
validate :validate_nationality, on: :after_log
validate :validate_reasonpref_reason_values, on: :after_log
validate :validate_nulls, on: :after_log
@ -676,6 +677,17 @@ private
end
end
def validate_reasonpref_reason_values
valid_reasonpref_reason_options = %w[0 1]
%w[field_107 field_108 field_109 field_110 field_111].each do |field|
next unless send(field).present? && !valid_reasonpref_reason_options.include?(send(field).to_s)
question_text = QUESTIONS[field.to_sym]
question_text[0] = question_text[0].downcase
errors.add(field.to_sym, I18n.t("#{ERROR_BASE_KEY}.invalid_option", question: question_text))
end
end
def duplicate_check_fields
[
"startdate",

13
spec/services/bulk_upload/lettings/year2025/row_parser_spec.rb

@ -1083,6 +1083,19 @@ RSpec.describe BulkUpload::Lettings::Year2025::RowParser do
expect(parser.errors[:field_111]).to be_present
end
end
context "when some reasonable preference options are set as invalid values" do
let(:attributes) { setup_section_params.merge({ bulk_upload:, field_106: "2", field_107: "2", field_108: "3", field_109: "2", field_110: "3", field_111: "-4" }) }
it "adds errors" do
parser.valid?
expect(parser.errors[:field_107]).to be_present
expect(parser.errors[:field_108]).to be_present
expect(parser.errors[:field_109]).to be_present
expect(parser.errors[:field_110]).to be_present
expect(parser.errors[:field_111]).to be_present
end
end
end
describe "#field_116" do # referral

Loading…
Cancel
Save