From 0874f819829f94e9ea15e97167b7917167e6a690 Mon Sep 17 00:00:00 2001 From: Rachael Booth Date: Mon, 11 Mar 2024 11:56:31 +0000 Subject: [PATCH] CLDC-3234: Handle nil hhmemb gracefully in soft validations --- app/models/validations/soft_validations.rb | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/models/validations/soft_validations.rb b/app/models/validations/soft_validations.rb index da3e050c5..3e1a4bc3e 100644 --- a/app/models/validations/soft_validations.rb +++ b/app/models/validations/soft_validations.rb @@ -73,13 +73,17 @@ module Validations::SoftValidations end def all_tenants_age_and_gender_information_completed? - (1..hhmemb).all? do |n| + person_count = hhmemb || 8 + + (1..person_count).all? do |n| public_send("sex#{n}").present? && public_send("age#{n}").present? && details_known_or_lead_tenant?(n) && public_send("age#{n}_known").present? && public_send("age#{n}_known").zero? end end def all_tenants_gender_information_completed? - (1..hhmemb).all? do |n| + person_count = hhmemb || 8 + + (1..person_count).all? do |n| public_send("sex#{n}").present? && details_known_or_lead_tenant?(n) end end @@ -197,13 +201,17 @@ private end def females_in_age_range(min, max) - (1..hhmemb).any? do |n| + person_count = hhmemb || 8 + + (1..person_count).any? do |n| public_send("sex#{n}") == "F" && public_send("age#{n}").present? && public_send("age#{n}").between?(min, max) end end def females_in_the_household? - (1..hhmemb).any? do |n| + person_count = hhmemb || 8 + + (1..person_count).any? do |n| public_send("sex#{n}") == "F" || public_send("sex#{n}").nil? end end