From 492ebb2d4bbdb66b98272d40c8cda3a60716c25e Mon Sep 17 00:00:00 2001 From: James Rose Date: Fri, 11 Nov 2022 09:00:51 +0000 Subject: [PATCH] Add validation to dependent earnings and incfreq fields (#985) We need to add a validation here so that we can clear both values on import. If we don't do this then the validation will continue to trigger and the importer will get stuck in an endless loop. --- app/models/validations/financial_validations.rb | 2 ++ spec/models/validations/financial_validations_spec.rb | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/app/models/validations/financial_validations.rb b/app/models/validations/financial_validations.rb index b1bddd9cb..87c506b4d 100644 --- a/app/models/validations/financial_validations.rb +++ b/app/models/validations/financial_validations.rb @@ -34,10 +34,12 @@ module Validations::FinancialValidations if record.earnings.present? && record.incfreq.blank? record.errors.add :incfreq, I18n.t("validations.financial.earnings.freq_missing") + record.errors.add :earnings, I18n.t("validations.financial.earnings.freq_missing") end if record.incfreq.present? && record.earnings.blank? record.errors.add :earnings, I18n.t("validations.financial.earnings.earnings_missing") + record.errors.add :incfreq, I18n.t("validations.financial.earnings.earnings_missing") end end diff --git a/spec/models/validations/financial_validations_spec.rb b/spec/models/validations/financial_validations_spec.rb index 0676e900b..0b88fdd76 100644 --- a/spec/models/validations/financial_validations_spec.rb +++ b/spec/models/validations/financial_validations_spec.rb @@ -18,6 +18,8 @@ RSpec.describe Validations::FinancialValidations do financial_validator.validate_net_income(record) expect(record.errors["incfreq"]) .to include(match I18n.t("validations.financial.earnings.freq_missing")) + expect(record.errors["earnings"]) + .to include(match I18n.t("validations.financial.earnings.freq_missing")) end it "when income frequency is provided it validates that earnings must be provided" do @@ -26,6 +28,8 @@ RSpec.describe Validations::FinancialValidations do financial_validator.validate_net_income(record) expect(record.errors["earnings"]) .to include(match I18n.t("validations.financial.earnings.earnings_missing")) + expect(record.errors["incfreq"]) + .to include(match I18n.t("validations.financial.earnings.earnings_missing")) end end