diff --git a/app/models/form/sales/questions/deposit_amount.rb b/app/models/form/sales/questions/deposit_amount.rb index 05403dbab..e4fd4ceb2 100644 --- a/app/models/form/sales/questions/deposit_amount.rb +++ b/app/models/form/sales/questions/deposit_amount.rb @@ -7,7 +7,7 @@ class Form::Sales::Questions::DepositAmount < ::Form::Question @type = "numeric" @min = 0 @width = 5 - @max = 9_999_999 + @max = 999_999 @prefix = "£" @hint_text = "Enter the total cash sum paid by the buyer towards the property that was not funded by the mortgage" @derived = true diff --git a/app/models/validations/sales/sale_information_validations.rb b/app/models/validations/sales/sale_information_validations.rb index 49e39d052..7b0b32206 100644 --- a/app/models/validations/sales/sale_information_validations.rb +++ b/app/models/validations/sales/sale_information_validations.rb @@ -1,12 +1,4 @@ module Validations::Sales::SaleInformationValidations - def validate_deposit_range(record) - return if record.deposit.blank? - - unless record.deposit >= 0 && record.deposit <= 999_999 - record.errors.add :deposit, "Cash deposit must be £0 - £999,999" - end - end - def validate_pratical_completion_date_before_saledate(record) return if record.saledate.blank? || record.hodate.blank? diff --git a/app/models/validations/shared_validations.rb b/app/models/validations/shared_validations.rb index 93a81e938..0d85435ec 100644 --- a/app/models/validations/shared_validations.rb +++ b/app/models/validations/shared_validations.rb @@ -19,17 +19,19 @@ module Validations::SharedValidations next unless record[question.id] field = question.check_answer_label || question.id + min = [question.prefix, question.min].join("") + max = [question.prefix, question.max].join("") begin answer = Float(record.public_send("#{question.id}_before_type_cast")) rescue ArgumentError - record.errors.add question.id.to_sym, I18n.t("validations.numeric.valid", field:, min: question.min, max: question.max) + record.errors.add question.id.to_sym, I18n.t("validations.numeric.valid", field:, min:, max:) end next unless answer if (question.min && question.min > answer) || (question.max && question.max < answer) - record.errors.add question.id.to_sym, I18n.t("validations.numeric.valid", field:, min: question.min, max: question.max) + record.errors.add question.id.to_sym, I18n.t("validations.numeric.valid", field:, min:, max:) end end end diff --git a/spec/models/validations/sales/sale_information_validations_spec.rb b/spec/models/validations/sales/sale_information_validations_spec.rb index fafe2786a..052e171be 100644 --- a/spec/models/validations/sales/sale_information_validations_spec.rb +++ b/spec/models/validations/sales/sale_information_validations_spec.rb @@ -5,48 +5,6 @@ RSpec.describe Validations::Sales::SaleInformationValidations do let(:validator_class) { Class.new { include Validations::Sales::SaleInformationValidations } } - describe "#validate_deposit_range" do - context "when within permitted bounds" do - let(:record) { build(:sales_log, deposit: 0) } - - it "does not add an error" do - sale_information_validator.validate_deposit_range(record) - - expect(record.errors[:deposit]).not_to be_present - end - end - - context "when blank" do - let(:record) { build(:sales_log, deposit: nil) } - - it "does not add an error" do - sale_information_validator.validate_deposit_range(record) - - expect(record.errors[:deposit]).not_to be_present - end - end - - context "when below lower bound" do - let(:record) { build(:sales_log, deposit: -1) } - - it "adds an error" do - sale_information_validator.validate_deposit_range(record) - - expect(record.errors[:deposit]).to be_present - end - end - - context "when higher than upper bound" do - let(:record) { build(:sales_log, deposit: 1_000_000) } - - it "adds an error" do - sale_information_validator.validate_deposit_range(record) - - expect(record.errors[:deposit]).to be_present - end - end - end - describe "#validate_pratical_completion_date_before_saledate" do context "when hodate blank" do let(:record) { build(:sales_log, hodate: nil) }