From 38095d5b306afbf70d0b9f082eb7ce0e50c0c0e7 Mon Sep 17 00:00:00 2001 From: Phil Lee Date: Mon, 15 May 2023 15:13:46 +0100 Subject: [PATCH] validate field_13 valid option --- app/services/bulk_upload/sales/year2023/row_parser.rb | 10 +++++++++- .../bulk_upload/sales/year2023/row_parser_spec.rb | 11 +++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app/services/bulk_upload/sales/year2023/row_parser.rb b/app/services/bulk_upload/sales/year2023/row_parser.rb index f07312aae..e70fd4090 100644 --- a/app/services/bulk_upload/sales/year2023/row_parser.rb +++ b/app/services/bulk_upload/sales/year2023/row_parser.rb @@ -413,6 +413,15 @@ class BulkUpload::Sales::Year2023::RowParser }, on: :after_log + validates :field_13, + inclusion: { + in: [1, 2], + if: proc { outright_sale? && field_13.present? }, + category: :setup, + question: QUESTIONS[:field_13].downcase, + }, + on: :before_log + validates :field_13, presence: { message: I18n.t("validations.not_answered", question: "will the buyers live in the property"), @@ -421,7 +430,6 @@ class BulkUpload::Sales::Year2023::RowParser }, on: :after_log - validates :field_14, presence: { message: I18n.t("validations.not_answered", question: "joint purchase"), diff --git a/spec/services/bulk_upload/sales/year2023/row_parser_spec.rb b/spec/services/bulk_upload/sales/year2023/row_parser_spec.rb index ef01bc887..98d88b1f5 100644 --- a/spec/services/bulk_upload/sales/year2023/row_parser_spec.rb +++ b/spec/services/bulk_upload/sales/year2023/row_parser_spec.rb @@ -626,6 +626,17 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do end end + describe "#field_13" do # will buyers live in the property? + context "when an invalid option" do + let(:attributes) { setup_section_params.merge({ field_7: "3", field_13: "100" }) } + + it "returns setup error" do + expect(parser.errors.where(:field_13).map(&:message)).to eql(["Enter a valid value for will the buyers live in the property?"]) + expect(parser.errors.where(:field_13, category: :setup)).to be_present + end + end + end + describe "#field_14" do # joint purchase context "when an invalid option" do let(:attributes) { setup_section_params.merge({ field_14: "100" }) }