diff --git a/app/models/validations/household_validations.rb b/app/models/validations/household_validations.rb
index c455575c0..b96d837dc 100644
--- a/app/models/validations/household_validations.rb
+++ b/app/models/validations/household_validations.rb
@@ -131,15 +131,15 @@ private
economic_status = record.public_send("ecstat#{person_num}")
return unless age && economic_status
- if age > 70 && economic_status != 4
+ if age > 70 && economic_status != 5
record.errors.add "ecstat#{person_num}", I18n.t("validations.household.ecstat.retired_over_70", person_num:)
record.errors.add "age#{person_num}", I18n.t("validations.household.age.retired_over_70", person_num:)
end
- if age < 16 && economic_status != 8
+ if age < 16 && economic_status != 9
record.errors.add "ecstat#{person_num}", I18n.t("validations.household.ecstat.child_under_16", person_num:)
record.errors.add "age#{person_num}", I18n.t("validations.household.age.child_under_16", person_num:)
end
- if economic_status == 8 && age > 16
+ if economic_status == 9 && age > 16
record.errors.add "ecstat#{person_num}", I18n.t("validations.household.ecstat.child_over_16", person_num:)
record.errors.add "age#{person_num}", I18n.t("validations.household.age.child_over_16", person_num:)
end
@@ -162,7 +162,7 @@ private
relationship = record.public_send("relat#{person_num}")
return unless age && economic_status && relationship
- if age >= 16 && age <= 19 && relationship == 1 && (economic_status != 6 && economic_status != 10)
+ if age >= 16 && age <= 19 && relationship == 1 && (economic_status != 7 && economic_status != 10)
record.errors.add "ecstat#{person_num}", I18n.t("validations.household.ecstat.student_16_19", person_num:)
record.errors.add "age#{person_num}", I18n.t("validations.household.age.student_16_19", person_num:)
record.errors.add "relat#{person_num}", I18n.t("validations.household.relat.student_16_19", person_num:)
@@ -175,12 +175,12 @@ private
economic_status = record.public_send("ecstat#{person_num}")
return unless age && economic_status && gender
- if gender == "M" && economic_status == 4 && age < 65
+ if gender == "M" && economic_status == 5 && age < 65
record.errors.add "age#{person_num}", I18n.t("validations.household.age.retired_male")
record.errors.add "sex#{person_num}", I18n.t("validations.household.gender.retired_male")
record.errors.add "ecstat#{person_num}", I18n.t("validations.household.ecstat.retired_male")
end
- if gender == "F" && economic_status == 4 && age < 60
+ if gender == "F" && economic_status == 5 && age < 60
record.errors.add "age#{person_num}", I18n.t("validations.household.age.retired_female")
record.errors.add "sex#{person_num}", I18n.t("validations.household.gender.retired_female")
record.errors.add "ecstat#{person_num}", I18n.t("validations.household.ecstat.retired_female")
diff --git a/spec/factories/case_log.rb b/spec/factories/case_log.rb
index f23f3c10c..c900cc84e 100644
--- a/spec/factories/case_log.rb
+++ b/spec/factories/case_log.rb
@@ -46,7 +46,7 @@ FactoryBot.define do
relat2 { 0 }
age2 { 32 }
sex2 { "M" }
- ecstat2 { 5 }
+ ecstat2 { 6 }
homeless { 1 }
underoccupation_benefitcap { 0 }
leftreg { 1 }
diff --git a/spec/fixtures/complete_case_log.json b/spec/fixtures/complete_case_log.json
index 3b6ff4637..b81719cb9 100644
--- a/spec/fixtures/complete_case_log.json
+++ b/spec/fixtures/complete_case_log.json
@@ -14,31 +14,31 @@
"relat2": 0,
"age2": 32,
"sex2": "M",
- "ecstat2": 5,
+ "ecstat2": 6,
"relat3": 1,
"age3": 12,
"sex3": "M",
- "ecstat3": 8,
+ "ecstat3": 9,
"relat4": 1,
"age4": 12,
"sex4": "F",
- "ecstat4": 8,
+ "ecstat4": 9,
"relat5": 1,
"age5": 10,
"sex5": "X",
- "ecstat5": 8,
+ "ecstat5": 9,
"relat6": 1,
"age6": 5,
"sex6": "R",
- "ecstat6": 8,
+ "ecstat6": 9,
"relat7": 1,
"age7": 5,
"sex7": "R",
- "ecstat7": 8,
+ "ecstat7": 9,
"relat8": 1,
"age8": 2,
"sex8": "R",
- "ecstat8": 8,
+ "ecstat8": 9,
"homeless": 2,
"reason": 1,
"underoccupation_benefitcap": 0,
@@ -66,7 +66,7 @@
"property_void_date": "10/10/2020",
"vday": 10,
"vmonth": 10,
- "vyear": 2020,
+ "vyear": 2020,
"majorrepairs": 1,
"mrcdate": "11/11/2020",
"mrcday": 11,
diff --git a/spec/fixtures/exports/case_logs.xml b/spec/fixtures/exports/case_logs.xml
index d3eaa7d42..649947215 100644
--- a/spec/fixtures/exports/case_logs.xml
+++ b/spec/fixtures/exports/case_logs.xml
@@ -15,7 +15,7 @@
2
32
M
- 5
+ 6
diff --git a/spec/models/validations/household_validations_spec.rb b/spec/models/validations/household_validations_spec.rb
index b3af9b399..605197739 100644
--- a/spec/models/validations/household_validations_spec.rb
+++ b/spec/models/validations/household_validations_spec.rb
@@ -320,7 +320,7 @@ RSpec.describe Validations::HouseholdValidations do
it "expects that person's economic status is Child" do
record.age2 = 14
- record.ecstat2 = 8
+ record.ecstat2 = 9
household_validator.validate_household_number_of_other_members(record)
expect(record.errors["ecstat2"]).to be_empty
expect(record.errors["age2"]).to be_empty
@@ -329,7 +329,7 @@ RSpec.describe Validations::HouseholdValidations do
it "validates that a person with economic status 'child' must be under 16" do
record.age2 = 21
record.relat2 = 1
- record.ecstat2 = 8
+ record.ecstat2 = 9
household_validator.validate_household_number_of_other_members(record)
expect(record.errors["ecstat2"])
.to include(match I18n.t("validations.household.ecstat.child_over_16", person_num: 2))
@@ -355,7 +355,7 @@ RSpec.describe Validations::HouseholdValidations do
it "expects that person can be a full time student" do
record.age2 = 17
record.relat2 = 1
- record.ecstat2 = 6
+ record.ecstat2 = 7
household_validator.validate_household_number_of_other_members(record)
expect(record.errors["ecstat2"]).to be_empty
expect(record.errors["age2"]).to be_empty
@@ -384,20 +384,28 @@ RSpec.describe Validations::HouseholdValidations do
.to include(match I18n.t("validations.household.age.retired_over_70", person_num: 2))
end
- it "expects that person is retired" do
+ it "expects that person under 70 does not need to be retired" do
record.age2 = 50
record.ecstat2 = 1
household_validator.validate_household_number_of_other_members(record)
expect(record.errors["ecstat2"]).to be_empty
expect(record.errors["age2"]).to be_empty
end
+
+ it "expects that person over 70 is retired" do
+ record.age2 = 71
+ record.ecstat2 = 5
+ household_validator.validate_household_number_of_other_members(record)
+ expect(record.errors["ecstat2"]).to be_empty
+ expect(record.errors["age2"]).to be_empty
+ end
end
context "when the household contains a retired male" do
it "validates that person must be over 65" do
record.age2 = 64
record.sex2 = "M"
- record.ecstat2 = 4
+ record.ecstat2 = 5
household_validator.validate_household_number_of_other_members(record)
expect(record.errors["age2"])
.to include(match I18n.t("validations.household.age.retired_male"))
@@ -410,7 +418,7 @@ RSpec.describe Validations::HouseholdValidations do
it "expects that person is over 65" do
record.age2 = 66
record.sex2 = "M"
- record.ecstat2 = 4
+ record.ecstat2 = 5
household_validator.validate_household_number_of_other_members(record)
household_validator.validate_household_number_of_other_members(record)
expect(record.errors["ecstat2"]).to be_empty
@@ -443,7 +451,7 @@ RSpec.describe Validations::HouseholdValidations do
it "validates that person must be over 60" do
record.age2 = 59
record.sex2 = "F"
- record.ecstat2 = 4
+ record.ecstat2 = 5
household_validator.validate_household_number_of_other_members(record)
expect(record.errors["age2"])
.to include(match I18n.t("validations.household.age.retired_female"))
@@ -456,7 +464,7 @@ RSpec.describe Validations::HouseholdValidations do
it "expects that person is over 60" do
record.age2 = 61
record.sex2 = "F"
- record.ecstat2 = 4
+ record.ecstat2 = 5
household_validator.validate_household_number_of_other_members(record)
household_validator.validate_household_number_of_other_members(record)
expect(record.errors["ecstat2"]).to be_empty