diff --git a/app/models/validations/sales/financial_validations.rb b/app/models/validations/sales/financial_validations.rb index 1947019ce..61772be93 100644 --- a/app/models/validations/sales/financial_validations.rb +++ b/app/models/validations/sales/financial_validations.rb @@ -37,7 +37,7 @@ module Validations::Sales::FinancialValidations end def validate_mortgage(record) - record.errors.add :mortgage, I18n.t("validations.financial.mortgage") if record.mortgage_used? && record.mortgage == 0 + record.errors.add :mortgage, I18n.t("validations.financial.mortgage") if record.mortgage_used? && record.mortgage&.zero? end def validate_cash_discount(record) diff --git a/spec/models/validations/sales/financial_validations_spec.rb b/spec/models/validations/sales/financial_validations_spec.rb index fe02f1350..e1eb81dea 100644 --- a/spec/models/validations/sales/financial_validations_spec.rb +++ b/spec/models/validations/sales/financial_validations_spec.rb @@ -117,12 +117,14 @@ RSpec.describe Validations::Sales::FinancialValidations do let(:record) { FactoryBot.create(:sales_log) } it "adds an error is the mortgage is zero" do + record.mortgageused = 1 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.mortgageused = 1 record.mortgage = 234 financial_validator.validate_mortgage(record) expect(record.errors).to be_empty