Browse Source

CLDC-1285: Pregnancy allowed to yes if a tenant's age is unknown

pull/638/head
Stéphane Meny 3 years ago
parent
commit
5ea0cb8934
No known key found for this signature in database
GPG Key ID: 9D0AFEA988527923
  1. 10
      app/models/validations/household_validations.rb
  2. 11
      spec/models/validations/household_validations_spec.rb

10
app/models/validations/household_validations.rb

@ -134,12 +134,18 @@ private
def women_of_child_bearing_age_in_household(record) def women_of_child_bearing_age_in_household(record)
(1..8).any? do |n| (1..8).any? do |n|
next if record["sex#{n}"].nil? || record["age#{n}"].nil? next if record["sex#{n}"].nil?
(record["sex#{n}"]) == "F" && record["age#{n}"] >= 11 && record["age#{n}"] <= 65 record["sex#{n}"] == "F" && (in_pregnancy_age_range?(record, n) || record["age#{n}_known"] == 1)
end end
end end
def in_pregnancy_age_range?(record, person_num)
return false if record["age#{person_num}"].nil?
record["age#{person_num}"] >= 11 && record["age#{person_num}"] <= 65
end
def women_in_household(record) def women_in_household(record)
(1..8).any? do |n| (1..8).any? do |n|
record["sex#{n}"] == "F" record["sex#{n}"] == "F"

11
spec/models/validations/household_validations_spec.rb

@ -107,7 +107,7 @@ RSpec.describe Validations::HouseholdValidations do
end end
context "and they are another household member and under 11" do context "and they are another household member and under 11" do
it "pregnancy can be yes" do it "pregnancy cannot be yes" do
record.preg_occ = 1 record.preg_occ = 1
record.sex1 = "M" record.sex1 = "M"
record.age1 = 25 record.age1 = 25
@ -118,6 +118,15 @@ RSpec.describe Validations::HouseholdValidations do
.to include(match I18n.t("validations.household.preg_occ.no_female")) .to include(match I18n.t("validations.household.preg_occ.no_female"))
end end
end end
context "and one tenant's age is unknown" do
before { record.assign_attributes(sex1: "F", age1: nil, age1_known: 1, preg_occ: 1) }
it "pregnancy can be yes" do
household_validator.validate_pregnancy(record)
expect(record.errors["preg_occ"]).to be_empty
end
end
end end
end end

Loading…
Cancel
Save