Browse Source

Update values in validations and tests

pull/420/head
baarkerlounger 3 years ago
parent
commit
5a637ca289
  1. 12
      app/models/validations/household_validations.rb
  2. 2
      spec/factories/case_log.rb
  3. 14
      spec/fixtures/complete_case_log.json
  4. 2
      spec/fixtures/exports/case_logs.xml
  5. 24
      spec/models/validations/household_validations_spec.rb

12
app/models/validations/household_validations.rb

@ -131,15 +131,15 @@ private
economic_status = record.public_send("ecstat#{person_num}") economic_status = record.public_send("ecstat#{person_num}")
return unless age && economic_status 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 "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:) record.errors.add "age#{person_num}", I18n.t("validations.household.age.retired_over_70", person_num:)
end 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 "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:) record.errors.add "age#{person_num}", I18n.t("validations.household.age.child_under_16", person_num:)
end 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 "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:) record.errors.add "age#{person_num}", I18n.t("validations.household.age.child_over_16", person_num:)
end end
@ -162,7 +162,7 @@ private
relationship = record.public_send("relat#{person_num}") relationship = record.public_send("relat#{person_num}")
return unless age && economic_status && relationship 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 "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 "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:) 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}") economic_status = record.public_send("ecstat#{person_num}")
return unless age && economic_status && gender 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 "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 "sex#{person_num}", I18n.t("validations.household.gender.retired_male")
record.errors.add "ecstat#{person_num}", I18n.t("validations.household.ecstat.retired_male") record.errors.add "ecstat#{person_num}", I18n.t("validations.household.ecstat.retired_male")
end 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 "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 "sex#{person_num}", I18n.t("validations.household.gender.retired_female")
record.errors.add "ecstat#{person_num}", I18n.t("validations.household.ecstat.retired_female") record.errors.add "ecstat#{person_num}", I18n.t("validations.household.ecstat.retired_female")

2
spec/factories/case_log.rb

@ -46,7 +46,7 @@ FactoryBot.define do
relat2 { 0 } relat2 { 0 }
age2 { 32 } age2 { 32 }
sex2 { "M" } sex2 { "M" }
ecstat2 { 5 } ecstat2 { 6 }
homeless { 1 } homeless { 1 }
underoccupation_benefitcap { 0 } underoccupation_benefitcap { 0 }
leftreg { 1 } leftreg { 1 }

14
spec/fixtures/complete_case_log.json vendored

@ -14,31 +14,31 @@
"relat2": 0, "relat2": 0,
"age2": 32, "age2": 32,
"sex2": "M", "sex2": "M",
"ecstat2": 5, "ecstat2": 6,
"relat3": 1, "relat3": 1,
"age3": 12, "age3": 12,
"sex3": "M", "sex3": "M",
"ecstat3": 8, "ecstat3": 9,
"relat4": 1, "relat4": 1,
"age4": 12, "age4": 12,
"sex4": "F", "sex4": "F",
"ecstat4": 8, "ecstat4": 9,
"relat5": 1, "relat5": 1,
"age5": 10, "age5": 10,
"sex5": "X", "sex5": "X",
"ecstat5": 8, "ecstat5": 9,
"relat6": 1, "relat6": 1,
"age6": 5, "age6": 5,
"sex6": "R", "sex6": "R",
"ecstat6": 8, "ecstat6": 9,
"relat7": 1, "relat7": 1,
"age7": 5, "age7": 5,
"sex7": "R", "sex7": "R",
"ecstat7": 8, "ecstat7": 9,
"relat8": 1, "relat8": 1,
"age8": 2, "age8": 2,
"sex8": "R", "sex8": "R",
"ecstat8": 8, "ecstat8": 9,
"homeless": 2, "homeless": 2,
"reason": 1, "reason": 1,
"underoccupation_benefitcap": 0, "underoccupation_benefitcap": 0,

2
spec/fixtures/exports/case_logs.xml vendored

@ -15,7 +15,7 @@
<hhmemb>2</hhmemb> <hhmemb>2</hhmemb>
<age2>32</age2> <age2>32</age2>
<sex2>M</sex2> <sex2>M</sex2>
<ecstat2>5</ecstat2> <ecstat2>6</ecstat2>
<age3/> <age3/>
<sex3/> <sex3/>
<ecstat3/> <ecstat3/>

24
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 it "expects that person's economic status is Child" do
record.age2 = 14 record.age2 = 14
record.ecstat2 = 8 record.ecstat2 = 9
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 expect(record.errors["ecstat2"]).to be_empty
expect(record.errors["age2"]).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 it "validates that a person with economic status 'child' must be under 16" do
record.age2 = 21 record.age2 = 21
record.relat2 = 1 record.relat2 = 1
record.ecstat2 = 8 record.ecstat2 = 9
household_validator.validate_household_number_of_other_members(record) household_validator.validate_household_number_of_other_members(record)
expect(record.errors["ecstat2"]) expect(record.errors["ecstat2"])
.to include(match I18n.t("validations.household.ecstat.child_over_16", person_num: 2)) .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 it "expects that person can be a full time student" do
record.age2 = 17 record.age2 = 17
record.relat2 = 1 record.relat2 = 1
record.ecstat2 = 6 record.ecstat2 = 7
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 expect(record.errors["ecstat2"]).to be_empty
expect(record.errors["age2"]).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)) .to include(match I18n.t("validations.household.age.retired_over_70", person_num: 2))
end 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.age2 = 50
record.ecstat2 = 1 record.ecstat2 = 1
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 expect(record.errors["ecstat2"]).to be_empty
expect(record.errors["age2"]).to be_empty expect(record.errors["age2"]).to be_empty
end 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 end
context "when the household contains a retired male" do context "when the household contains a retired male" do
it "validates that person must be over 65" do it "validates that person must be over 65" do
record.age2 = 64 record.age2 = 64
record.sex2 = "M" 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["age2"]) expect(record.errors["age2"])
.to include(match I18n.t("validations.household.age.retired_male")) .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 it "expects that person is over 65" do
record.age2 = 66 record.age2 = 66
record.sex2 = "M" 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)
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 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 it "validates that person must be over 60" do
record.age2 = 59 record.age2 = 59
record.sex2 = "F" 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["age2"]) expect(record.errors["age2"])
.to include(match I18n.t("validations.household.age.retired_female")) .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 it "expects that person is over 60" do
record.age2 = 61 record.age2 = 61
record.sex2 = "F" 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)
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 expect(record.errors["ecstat2"]).to be_empty

Loading…
Cancel
Save