diff --git a/config/locales/en.yml b/config/locales/en.yml index 2d17cf207..46aea491e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -316,6 +316,7 @@ en: equity: under_min: "The minimum initial equity stake for this type of shared ownership sale is %{min_equity}%" over_max: "The maximum initial equity stake is %{max_equity}%" + mortgage: "Mortgage value cannot be £0 if a mortgage was used for the purchase of this property" household: reasonpref: diff --git a/spec/models/validations/sales/financial_validations_spec.rb b/spec/models/validations/sales/financial_validations_spec.rb index b60ef5e6a..fe02f1350 100644 --- a/spec/models/validations/sales/financial_validations_spec.rb +++ b/spec/models/validations/sales/financial_validations_spec.rb @@ -113,6 +113,22 @@ RSpec.describe Validations::Sales::FinancialValidations do end end + describe "#validate_mortgage" do + let(:record) { FactoryBot.create(:sales_log) } + + it "adds an error is the mortgage is zero" do + record.mortgage = 0 + financial_validator.validate_mortgage(record) + expect(record.errors[:mortgage]).to include I18n.t("validations.financial.mortgage") + end + + it "does not add an error is the mortgage is positive" do + record.mortgage = 234 + financial_validator.validate_mortgage(record) + expect(record.errors).to be_empty + end + end + describe "#validate_cash_discount" do let(:record) { FactoryBot.create(:sales_log) }