From e215730d3b4c259d5eba54b305aeb2c39b9782b9 Mon Sep 17 00:00:00 2001 From: James Rose Date: Fri, 11 Nov 2022 08:38:39 +0000 Subject: [PATCH] Add validation to dependent earnings and incfreq fields 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