Browse Source

Don't allow don't know as 2023 mortgageused

pull/2310/head
Kat 2 years ago
parent
commit
866469d54d
  1. 9
      app/services/bulk_upload/sales/year2023/row_parser.rb
  2. 30
      spec/services/bulk_upload/sales/year2023/row_parser_spec.rb

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

@ -450,6 +450,7 @@ class BulkUpload::Sales::Year2023::RowParser
on: :after_log
validate :validate_buyer1_economic_status, on: :before_log
validate :validate_mortgageused, on: :before_log
validate :validate_nulls, on: :after_log
validate :validate_valid_radio_option, on: :before_log
@ -1332,4 +1333,12 @@ private
errors.add(:field_35, "Buyer 1 cannot be a child under 16")
end
end
def validate_mortgageused
if mortgageused.present? && mortgageused.to_i != 1 && mortgageused.to_i != 2
errors.add(:field_105, I18n.t("validations.invalid_option", question: "Was a mortgage used for the purchase of this property? - Shared ownership")) if shared_ownership?
errors.add(:field_119, I18n.t("validations.invalid_option", question: "Was a mortgage used for the purchase of this property? - Discounted ownership")) if discounted_ownership?
errors.add(:field_128, I18n.t("validations.invalid_option", question: "Was a mortgage used for the purchase of this property? - Outright sale")) if outright_sale?
end
end
end

30
spec/services/bulk_upload/sales/year2023/row_parser_spec.rb

@ -1020,6 +1020,36 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do
end
end
end
describe "#field_105" do
let(:attributes) { valid_attributes.merge({ field_7: "1", field_105: "3" }) }
it "does not allow 3 (don't know) as an option for shared ownership" do
expect(parser.errors[:field_105]).to include("Enter a valid value for Was a mortgage used for the purchase of this property? - Shared ownership")
expect(parser.errors[:field_119]).to be_empty
expect(parser.errors[:field_128]).to be_empty
end
end
describe "#field_119" do
let(:attributes) { valid_attributes.merge({ field_7: "2", field_9: "8", field_119: "3" }) }
it "does not allow 3 (don't know) as an option for discounted ownership" do
expect(parser.errors[:field_119]).to include("Enter a valid value for Was a mortgage used for the purchase of this property? - Discounted ownership")
expect(parser.errors[:field_105]).to be_empty
expect(parser.errors[:field_128]).to be_empty
end
end
describe "#field_128" do
let(:attributes) { valid_attributes.merge({ field_7: "3", field_10: "10", field_128: "3" }) }
it "does not allow 3 (don't know) as an option for outright sale" do
expect(parser.errors[:field_128]).to include("Enter a valid value for Was a mortgage used for the purchase of this property? - Outright sale")
expect(parser.errors[:field_105]).to be_empty
expect(parser.errors[:field_119]).to be_empty
end
end
end
describe "#log" do

Loading…
Cancel
Save