Browse Source

Validate reasonpref reason values

CLDC-3859-update-invalid-reasonpref
Kat 2 weeks ago
parent
commit
fdea107b6f
  1. 12
      app/services/bulk_upload/lettings/year2024/row_parser.rb
  2. 13
      spec/services/bulk_upload/lettings/year2024/row_parser_spec.rb

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

@ -444,6 +444,7 @@ class BulkUpload::Lettings::Year2024::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
@ -677,6 +678,17 @@ private
end
end
def validate_reasonpref_reason_values
valid_reasonpref_reason_options = ["0","1"]
["field_107", "field_108", "field_109", "field_110", "field_111"].each do |field|
if 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
end
def duplicate_check_fields
[
"startdate",

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

@ -1272,6 +1272,19 @@ RSpec.describe BulkUpload::Lettings::Year2024::RowParser do
expect(parser.log.rp_dontknow).to be_nil
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