From be83b5439e04861d56fcf2cec57d4cc58bbde61c Mon Sep 17 00:00:00 2001 From: Matthew Phelan Date: Mon, 13 Dec 2021 09:39:55 +0000 Subject: [PATCH] CLDC-492 validate_hbrentshortfall --- .../validations/financial_validations.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/app/models/validations/financial_validations.rb b/app/models/validations/financial_validations.rb index bdcf28479..f6b769c16 100644 --- a/app/models/validations/financial_validations.rb +++ b/app/models/validations/financial_validations.rb @@ -34,4 +34,23 @@ module Validations::FinancialValidations record.errors.add :earnings, "Net income cannot be less than #{record.applicable_income_range.hard_min} given the tenant's working situation" end end + + def validate_hbrentshortfall(record) + + is_present = record.hbrentshortfall.present? + is_yes = record.hbrentshortfall == "Yes" + hb_donotknow = record.hb == "Do not know" + hb_no_hb_or_uc = record.hb == "Not Housing Benefit or Universal Credit" + hb_uc_no_hb = record.hb == "Universal Credit without housing element and no Housing Benefit" + hb_no_uc = record.hb == "Housing Benefit, but not Universal Credit" + hb_uc_no_he_hb = record.hb == "Universal Credit with housing element, but not Housing Benefit" + hb_and_uc = record.hb == "Universal Credit and Housing Benefit" + + conditions = [ + { condition: is_yes && (hb_donotknow || hb_no_hb_or_uc || hb_uc_no_hb), error: "Outstanding amount for basic rent and/or benefit eligible charges can not be 'Yes' if tenant is not in receipt of housing benefit or universal benefit or if benefit is unknown" }, + { condition: (hb_no_uc || hb_uc_no_he_hb || hb_and_uc) && !is_present, error: "Must be completed if Universal credit and/or Housing Benefit received" } + ] + + conditions.each { |condition| condition[:condition] ? (record.errors.add :hbrentshortfall, condition[:error]) : nil } + end end