From 66f1df6249b4b966fdff60da2edb295b6a6f74d4 Mon Sep 17 00:00:00 2001 From: Kat Date: Wed, 1 Feb 2023 15:50:51 +0000 Subject: [PATCH] make pregnant household check generic --- ...nant_household_person_2_age_value_check.rb | 13 --- ...pregnant_household_person_2_value_check.rb | 13 --- ...nant_household_person_3_age_value_check.rb | 13 --- ...pregnant_household_person_3_value_check.rb | 13 --- ...nant_household_person_4_age_value_check.rb | 13 --- ...pregnant_household_person_4_value_check.rb | 13 --- ...nant_household_person_5_age_value_check.rb | 13 --- ...pregnant_household_person_5_value_check.rb | 13 --- ...nant_household_person_6_age_value_check.rb | 13 --- ...pregnant_household_person_6_value_check.rb | 13 --- ...nant_household_person_7_age_value_check.rb | 13 --- ...pregnant_household_person_7_value_check.rb | 13 --- ...nant_household_person_8_age_value_check.rb | 13 --- ...pregnant_household_person_8_value_check.rb | 13 --- ...egnant_household_person_age_value_check.rb | 27 ++++++ ...n_pregnant_household_person_value_check.rb | 32 ++++++ .../subsections/household_characteristics.rb | 28 +++--- ...t_household_person_age_value_check_spec.rb | 97 +++++++++++++++++++ ...gnant_household_person_value_check_spec.rb | 97 +++++++++++++++++++ 19 files changed, 267 insertions(+), 196 deletions(-) delete mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_2_age_value_check.rb delete mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_2_value_check.rb delete mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_3_age_value_check.rb delete mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_3_value_check.rb delete mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_4_age_value_check.rb delete mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_4_value_check.rb delete mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_5_age_value_check.rb delete mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_5_value_check.rb delete mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_6_age_value_check.rb delete mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_6_value_check.rb delete mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_7_age_value_check.rb delete mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_7_value_check.rb delete mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_8_age_value_check.rb delete mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_8_value_check.rb create mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_age_value_check.rb create mode 100644 app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_value_check.rb create mode 100644 spec/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_age_value_check_spec.rb create mode 100644 spec/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_value_check_spec.rb diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_2_age_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_2_age_value_check.rb deleted file mode 100644 index 62725c2f0..000000000 --- a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_2_age_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson2AgeValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "females_in_soft_age_range_in_pregnant_household_person_2_age_value_check" - @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "age2_known" => 0 }] - @title_text = { "translation" => "soft_validations.pregnancy.title", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - @informative_text = { "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_2_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_2_value_check.rb deleted file mode 100644 index 92c03fb66..000000000 --- a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_2_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson2ValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "females_in_soft_age_range_in_pregnant_household_person_2_value_check" - @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "details_known_2" => 0 }] - @title_text = { "translation" => "soft_validations.pregnancy.title", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - @informative_text = { "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_3_age_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_3_age_value_check.rb deleted file mode 100644 index 98cc00d12..000000000 --- a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_3_age_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson3AgeValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "females_in_soft_age_range_in_pregnant_household_person_3_age_value_check" - @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "age3_known" => 0 }] - @title_text = { "translation" => "soft_validations.pregnancy.title", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - @informative_text = { "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_3_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_3_value_check.rb deleted file mode 100644 index fa235f52c..000000000 --- a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_3_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson3ValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "females_in_soft_age_range_in_pregnant_household_person_3_value_check" - @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "details_known_3" => 0 }] - @title_text = { "translation" => "soft_validations.pregnancy.title", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - @informative_text = { "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_4_age_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_4_age_value_check.rb deleted file mode 100644 index 437f9c31f..000000000 --- a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_4_age_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson4AgeValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "females_in_soft_age_range_in_pregnant_household_person_4_age_value_check" - @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "age4_known" => 0 }] - @title_text = { "translation" => "soft_validations.pregnancy.title", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - @informative_text = { "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_4_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_4_value_check.rb deleted file mode 100644 index fb8dc53c8..000000000 --- a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_4_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson4ValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "females_in_soft_age_range_in_pregnant_household_person_4_value_check" - @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "details_known_4" => 0 }] - @title_text = { "translation" => "soft_validations.pregnancy.title", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - @informative_text = { "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_5_age_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_5_age_value_check.rb deleted file mode 100644 index 278055b30..000000000 --- a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_5_age_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson5AgeValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "females_in_soft_age_range_in_pregnant_household_person_5_age_value_check" - @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "age5_known" => 0 }] - @title_text = { "translation" => "soft_validations.pregnancy.title", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - @informative_text = { "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_5_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_5_value_check.rb deleted file mode 100644 index c98792847..000000000 --- a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_5_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson5ValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "females_in_soft_age_range_in_pregnant_household_person_5_value_check" - @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "details_known_5" => 0 }] - @title_text = { "translation" => "soft_validations.pregnancy.title", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - @informative_text = { "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_6_age_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_6_age_value_check.rb deleted file mode 100644 index cfb664713..000000000 --- a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_6_age_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson6AgeValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "females_in_soft_age_range_in_pregnant_household_person_6_age_value_check" - @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "age6_known" => 0 }] - @title_text = { "translation" => "soft_validations.pregnancy.title", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - @informative_text = { "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_6_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_6_value_check.rb deleted file mode 100644 index d73f5929d..000000000 --- a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_6_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson6ValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "females_in_soft_age_range_in_pregnant_household_person_6_value_check" - @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "details_known_6" => 0 }] - @title_text = { "translation" => "soft_validations.pregnancy.title", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - @informative_text = { "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_7_age_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_7_age_value_check.rb deleted file mode 100644 index 513502bc7..000000000 --- a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_7_age_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson7AgeValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "females_in_soft_age_range_in_pregnant_household_person_7_age_value_check" - @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "age7_known" => 0 }] - @title_text = { "translation" => "soft_validations.pregnancy.title", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - @informative_text = { "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_7_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_7_value_check.rb deleted file mode 100644 index e055f9c50..000000000 --- a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_7_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson7ValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "females_in_soft_age_range_in_pregnant_household_person_7_value_check" - @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "details_known_7" => 0 }] - @title_text = { "translation" => "soft_validations.pregnancy.title", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - @informative_text = { "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_8_age_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_8_age_value_check.rb deleted file mode 100644 index aed54edf9..000000000 --- a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_8_age_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson8AgeValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "females_in_soft_age_range_in_pregnant_household_person_8_age_value_check" - @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "age8_known" => 0 }] - @title_text = { "translation" => "soft_validations.pregnancy.title", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - @informative_text = { "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_8_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_8_value_check.rb deleted file mode 100644 index 5c7f90e10..000000000 --- a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_8_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson8ValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "females_in_soft_age_range_in_pregnant_household_person_8_value_check" - @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "details_known_8" => 0 }] - @title_text = { "translation" => "soft_validations.pregnancy.title", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - @informative_text = { "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", "arguments" => [{ "key" => "sex1", "label" => true, "i18n_template" => "sex1" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_age_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_age_value_check.rb new file mode 100644 index 000000000..ee10857c9 --- /dev/null +++ b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_age_value_check.rb @@ -0,0 +1,27 @@ +class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck < ::Form::Page + def initialize(id, hsh, subsection, person_index:) + super(id, hsh, subsection) + @id = "females_in_soft_age_range_in_pregnant_household_person_#{person_index}_age_value_check" + @depends_on = [{ "female_in_pregnant_household_in_soft_validation_range?" => true, "age#{person_index}_known" => 0 }] + @title_text = { + "translation" => "soft_validations.pregnancy.title", + "arguments" => [{ + "key" => "sex1", + "label" => true, + "i18n_template" => "sex1", + }], + } + @informative_text = { + "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", + "arguments" => [{ + "key" => "sex1", + "label" => true, + "i18n_template" => "sex1", + }], + } + end + + def questions + @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] + end +end diff --git a/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_value_check.rb b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_value_check.rb new file mode 100644 index 000000000..595a066e3 --- /dev/null +++ b/app/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_value_check.rb @@ -0,0 +1,32 @@ +class Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck < ::Form::Page + def initialize(id, hsh, subsection, person_index:) + super(id, hsh, subsection) + @id = "females_in_soft_age_range_in_pregnant_household_person_#{person_index}_value_check" + @depends_on = [ + { + "female_in_pregnant_household_in_soft_validation_range?" => true, + "details_known_#{person_index}" => 0, + }, + ] + @title_text = { + "translation" => "soft_validations.pregnancy.title", + "arguments" => [ + { "key" => "sex1", + "label" => true, + "i18n_template" => "sex1" }, + ], + } + @informative_text = { + "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", + "arguments" => [ + { "key" => "sex1", + "label" => true, + "i18n_template" => "sex1" }, + ], + } + end + + def questions + @questions ||= [Form::Lettings::Questions::PregnancyValueCheck.new(nil, nil, self)] + end +end diff --git a/app/models/form/lettings/subsections/household_characteristics.rb b/app/models/form/lettings/subsections/household_characteristics.rb index 86b3f796a..d2c3ca0fd 100644 --- a/app/models/form/lettings/subsections/household_characteristics.rb +++ b/app/models/form/lettings/subsections/household_characteristics.rb @@ -31,10 +31,10 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::PersonRelationshipToLead.new(nil, nil, self, person_index: 2), Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 2), Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson2AgeValueCheck.new(nil, nil, self), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson2AgeValueCheck.new(nil, nil, self), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, person_index: 2), Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index: 2), Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson2ValueCheck.new(nil, nil, self), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson2ValueCheck.new(nil, nil, self), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index: 2), Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 2), Form::Lettings::Pages::PersonUnderRetirementValueCheck.new(nil, nil, self, person_index: 2), Form::Lettings::Pages::PersonOverRetirementValueCheck.new(nil, nil, self, person_index: 2), @@ -42,10 +42,10 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::PersonRelationshipToLead.new(nil, nil, self, person_index: 3), Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 3), Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson3AgeValueCheck.new(nil, nil, self), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson3AgeValueCheck.new(nil, nil, self), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, person_index: 3), Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index: 3), Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson3ValueCheck.new(nil, nil, self), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson3ValueCheck.new(nil, nil, self), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index: 3), Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 3), Form::Lettings::Pages::PersonUnderRetirementValueCheck.new(nil, nil, self, person_index: 3), Form::Lettings::Pages::PersonOverRetirementValueCheck.new(nil, nil, self, person_index: 3), @@ -53,10 +53,10 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::PersonRelationshipToLead.new(nil, nil, self, person_index: 4), Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 4), Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson4AgeValueCheck.new(nil, nil, self), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson4AgeValueCheck.new(nil, nil, self), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, person_index: 4), Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index: 4), Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson4ValueCheck.new(nil, nil, self), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson4ValueCheck.new(nil, nil, self), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index: 4), Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 4), Form::Lettings::Pages::PersonUnderRetirementValueCheck.new(nil, nil, self, person_index: 4), Form::Lettings::Pages::PersonOverRetirementValueCheck.new(nil, nil, self, person_index: 4), @@ -64,10 +64,10 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::PersonRelationshipToLead.new(nil, nil, self, person_index: 5), Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 5), Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson5AgeValueCheck.new(nil, nil, self), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson5AgeValueCheck.new(nil, nil, self), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, person_index: 5), Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index: 5), Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson5ValueCheck.new(nil, nil, self), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson5ValueCheck.new(nil, nil, self), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index: 5), Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 5), Form::Lettings::Pages::PersonUnderRetirementValueCheck.new(nil, nil, self, person_index: 5), Form::Lettings::Pages::PersonOverRetirementValueCheck.new(nil, nil, self, person_index: 5), @@ -75,10 +75,10 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::PersonRelationshipToLead.new(nil, nil, self, person_index: 6), Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 6), Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson6AgeValueCheck.new(nil, nil, self), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson6AgeValueCheck.new(nil, nil, self), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, person_index: 6), Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index: 6), Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson6ValueCheck.new(nil, nil, self), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson6ValueCheck.new(nil, nil, self), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index: 6), Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 6), Form::Lettings::Pages::PersonUnderRetirementValueCheck.new(nil, nil, self, person_index: 6), Form::Lettings::Pages::PersonOverRetirementValueCheck.new(nil, nil, self, person_index: 6), @@ -86,10 +86,10 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::PersonRelationshipToLead.new(nil, nil, self, person_index: 7), Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 7), Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson7AgeValueCheck.new(nil, nil, self), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson7AgeValueCheck.new(nil, nil, self), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, person_index: 7), Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index: 7), Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson7ValueCheck.new(nil, nil, self), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson7ValueCheck.new(nil, nil, self), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index: 7), Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 7), Form::Lettings::Pages::PersonUnderRetirementValueCheck.new(nil, nil, self, person_index: 7), Form::Lettings::Pages::PersonOverRetirementValueCheck.new(nil, nil, self, person_index: 7), @@ -97,10 +97,10 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::PersonRelationshipToLead.new(nil, nil, self, person_index: 8), Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 8), Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson8AgeValueCheck.new(nil, nil, self), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson8AgeValueCheck.new(nil, nil, self), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, person_index: 8), Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index: 8), Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson8ValueCheck.new(nil, nil, self), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson8ValueCheck.new(nil, nil, self), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index: 8), Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 8), Form::Lettings::Pages::PersonUnderRetirementValueCheck.new(nil, nil, self, person_index: 8), Form::Lettings::Pages::PersonOverRetirementValueCheck.new(nil, nil, self, person_index: 8)].compact diff --git a/spec/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_age_value_check_spec.rb b/spec/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_age_value_check_spec.rb new file mode 100644 index 000000000..1090e381d --- /dev/null +++ b/spec/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_age_value_check_spec.rb @@ -0,0 +1,97 @@ +require "rails_helper" + +RSpec.describe Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck, type: :model do + subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } + + let(:page_definition) { nil } + let(:subsection) { instance_double(Form::Subsection) } + let(:person_index) { 2 } + + it "has correct subsection" do + expect(page.subsection).to eq(subsection) + end + + it "has the correct header" do + expect(page.header).to be nil + end + + it "has the correct description" do + expect(page.description).to be nil + end + + it "has correct questions" do + expect(page.questions.map(&:id)).to eq(%w[pregnancy_value_check]) + end + + context "with person 2" do + it "has the correct id" do + expect(page.id).to eq("females_in_soft_age_range_in_pregnant_household_person_2_age_value_check") + end + + it "has correct depends_on" do + expect(page.depends_on).to eq( + [{ "age2_known" => 0, + "female_in_pregnant_household_in_soft_validation_range?" => true }], + ) + end + + it "has the correct title_text" do + expect(page.title_text).to eq({ + "translation" => "soft_validations.pregnancy.title", + "arguments" => [{ + "key" => "sex1", + "label" => true, + "i18n_template" => "sex1", + }], + }) + end + + it "has the correct informative_text" do + expect(page.informative_text).to eq({ + "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", + "arguments" => [{ + "key" => "sex1", + "label" => true, + "i18n_template" => "sex1", + }], + }) + end + end + + context "with person 3" do + let(:person_index) { 3 } + + it "has the correct id" do + expect(page.id).to eq("females_in_soft_age_range_in_pregnant_household_person_3_age_value_check") + end + + it "has correct depends_on" do + expect(page.depends_on).to eq( + [{ "age3_known" => 0, + "female_in_pregnant_household_in_soft_validation_range?" => true }], + ) + end + + it "has the correct title_text" do + expect(page.title_text).to eq({ + "translation" => "soft_validations.pregnancy.title", + "arguments" => [{ + "key" => "sex1", + "label" => true, + "i18n_template" => "sex1", + }], + }) + end + + it "has the correct informative_text" do + expect(page.informative_text).to eq({ + "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", + "arguments" => [{ + "key" => "sex1", + "label" => true, + "i18n_template" => "sex1", + }], + }) + end + end +end diff --git a/spec/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_value_check_spec.rb b/spec/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_value_check_spec.rb new file mode 100644 index 000000000..86d345e16 --- /dev/null +++ b/spec/models/form/lettings/pages/females_in_soft_age_range_in_pregnant_household_person_value_check_spec.rb @@ -0,0 +1,97 @@ +require "rails_helper" + +RSpec.describe Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck, type: :model do + subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } + + let(:page_definition) { nil } + let(:subsection) { instance_double(Form::Subsection) } + let(:person_index) { 2 } + + it "has correct subsection" do + expect(page.subsection).to eq(subsection) + end + + it "has the correct header" do + expect(page.header).to be nil + end + + it "has the correct description" do + expect(page.description).to be nil + end + + it "has correct questions" do + expect(page.questions.map(&:id)).to eq(%w[pregnancy_value_check]) + end + + context "with person 2" do + it "has the correct id" do + expect(page.id).to eq("females_in_soft_age_range_in_pregnant_household_person_2_value_check") + end + + it "has correct depends_on" do + expect(page.depends_on).to eq( + [{ "details_known_2" => 0, + "female_in_pregnant_household_in_soft_validation_range?" => true }], + ) + end + + it "has the correct title_text" do + expect(page.title_text).to eq({ + "translation" => "soft_validations.pregnancy.title", + "arguments" => [ + { "key" => "sex1", + "label" => true, + "i18n_template" => "sex1" }, + ], + }) + end + + it "has the correct informative_text" do + expect(page.informative_text).to eq({ + "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", + "arguments" => [ + { "key" => "sex1", + "label" => true, + "i18n_template" => "sex1" }, + ], + }) + end + end + + context "with person 3" do + let(:person_index) { 3 } + + it "has the correct id" do + expect(page.id).to eq("females_in_soft_age_range_in_pregnant_household_person_3_value_check") + end + + it "has correct depends_on" do + expect(page.depends_on).to eq( + [{ "details_known_3" => 0, + "female_in_pregnant_household_in_soft_validation_range?" => true }], + ) + end + + it "has the correct title_text" do + expect(page.title_text).to eq({ + "translation" => "soft_validations.pregnancy.title", + "arguments" => [ + { "key" => "sex1", + "label" => true, + "i18n_template" => "sex1" }, + ], + }) + end + + it "has the correct informative_text" do + expect(page.informative_text).to eq({ + "translation" => "soft_validations.pregnancy.females_not_in_soft_age_range", + "arguments" => [ + { "key" => "sex1", + "label" => true, + "i18n_template" => "sex1" }, + ], + }) + end + end +end