diff --git a/app/models/form/lettings/pages/person_2_over_retirement_value_check.rb b/app/models/form/lettings/pages/person_2_over_retirement_value_check.rb deleted file mode 100644 index b08d722cd..000000000 --- a/app/models/form/lettings/pages/person_2_over_retirement_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::Person2OverRetirementValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "person_2_over_retirement_value_check" - @depends_on = [{ "person_2_not_retired_over_soft_max_age?" => true }] - @title_text = { "translation" => "soft_validations.retirement.max.title", "arguments" => [{ "key" => "retirement_age_for_person_2", "label" => false, "i18n_template" => "age" }] } - @informative_text = { "translation" => "soft_validations.retirement.max.hint_text", "arguments" => [{ "key" => "plural_gender_for_person_2", "label" => false, "i18n_template" => "gender" }, { "key" => "retirement_age_for_person_2", "label" => false, "i18n_template" => "age" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::RetirementValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/person_2_under_retirement_value_check.rb b/app/models/form/lettings/pages/person_2_under_retirement_value_check.rb deleted file mode 100644 index 4c97be624..000000000 --- a/app/models/form/lettings/pages/person_2_under_retirement_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::Person2UnderRetirementValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "person_2_under_retirement_value_check" - @depends_on = [{ "person_2_retired_under_soft_min_age?" => true }] - @title_text = { "translation" => "soft_validations.retirement.min.title", "arguments" => [{ "key" => "retirement_age_for_person_2", "label" => false, "i18n_template" => "age" }] } - @informative_text = { "translation" => "soft_validations.retirement.min.hint_text", "arguments" => [{ "key" => "plural_gender_for_person_2", "label" => false, "i18n_template" => "gender" }, { "key" => "retirement_age_for_person_2", "label" => false, "i18n_template" => "age" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::NoRetirementValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/person_3_over_retirement_value_check.rb b/app/models/form/lettings/pages/person_3_over_retirement_value_check.rb deleted file mode 100644 index 2ba8741c2..000000000 --- a/app/models/form/lettings/pages/person_3_over_retirement_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::Person3OverRetirementValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "person_3_over_retirement_value_check" - @depends_on = [{ "person_3_not_retired_over_soft_max_age?" => true }] - @title_text = { "translation" => "soft_validations.retirement.max.title", "arguments" => [{ "key" => "retirement_age_for_person_3", "label" => false, "i18n_template" => "age" }] } - @informative_text = { "translation" => "soft_validations.retirement.max.hint_text", "arguments" => [{ "key" => "plural_gender_for_person_3", "label" => false, "i18n_template" => "gender" }, { "key" => "retirement_age_for_person_3", "label" => false, "i18n_template" => "age" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::RetirementValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/person_3_under_retirement_value_check.rb b/app/models/form/lettings/pages/person_3_under_retirement_value_check.rb deleted file mode 100644 index 4b89df0b0..000000000 --- a/app/models/form/lettings/pages/person_3_under_retirement_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::Person3UnderRetirementValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "person_3_under_retirement_value_check" - @depends_on = [{ "person_3_retired_under_soft_min_age?" => true }] - @title_text = { "translation" => "soft_validations.retirement.min.title", "arguments" => [{ "key" => "retirement_age_for_person_3", "label" => false, "i18n_template" => "age" }] } - @informative_text = { "translation" => "soft_validations.retirement.min.hint_text", "arguments" => [{ "key" => "plural_gender_for_person_3", "label" => false, "i18n_template" => "gender" }, { "key" => "retirement_age_for_person_3", "label" => false, "i18n_template" => "age" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::NoRetirementValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/person_4_over_retirement_value_check.rb b/app/models/form/lettings/pages/person_4_over_retirement_value_check.rb deleted file mode 100644 index bf3c12f5c..000000000 --- a/app/models/form/lettings/pages/person_4_over_retirement_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::Person4OverRetirementValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "person_4_over_retirement_value_check" - @depends_on = [{ "person_4_not_retired_over_soft_max_age?" => true }] - @title_text = { "translation" => "soft_validations.retirement.max.title", "arguments" => [{ "key" => "retirement_age_for_person_4", "label" => false, "i18n_template" => "age" }] } - @informative_text = { "translation" => "soft_validations.retirement.max.hint_text", "arguments" => [{ "key" => "plural_gender_for_person_4", "label" => false, "i18n_template" => "gender" }, { "key" => "retirement_age_for_person_4", "label" => false, "i18n_template" => "age" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::RetirementValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/person_4_under_retirement_value_check.rb b/app/models/form/lettings/pages/person_4_under_retirement_value_check.rb deleted file mode 100644 index 43278a918..000000000 --- a/app/models/form/lettings/pages/person_4_under_retirement_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::Person4UnderRetirementValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "person_4_under_retirement_value_check" - @depends_on = [{ "person_4_retired_under_soft_min_age?" => true }] - @title_text = { "translation" => "soft_validations.retirement.min.title", "arguments" => [{ "key" => "retirement_age_for_person_4", "label" => false, "i18n_template" => "age" }] } - @informative_text = { "translation" => "soft_validations.retirement.min.hint_text", "arguments" => [{ "key" => "plural_gender_for_person_4", "label" => false, "i18n_template" => "gender" }, { "key" => "retirement_age_for_person_4", "label" => false, "i18n_template" => "age" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::NoRetirementValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/person_5_over_retirement_value_check.rb b/app/models/form/lettings/pages/person_5_over_retirement_value_check.rb deleted file mode 100644 index 93c6e67c8..000000000 --- a/app/models/form/lettings/pages/person_5_over_retirement_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::Person5OverRetirementValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "person_5_over_retirement_value_check" - @depends_on = [{ "person_5_not_retired_over_soft_max_age?" => true }] - @title_text = { "translation" => "soft_validations.retirement.max.title", "arguments" => [{ "key" => "retirement_age_for_person_5", "label" => false, "i18n_template" => "age" }] } - @informative_text = { "translation" => "soft_validations.retirement.max.hint_text", "arguments" => [{ "key" => "plural_gender_for_person_5", "label" => false, "i18n_template" => "gender" }, { "key" => "retirement_age_for_person_5", "label" => false, "i18n_template" => "age" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::RetirementValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/person_5_under_retirement_value_check.rb b/app/models/form/lettings/pages/person_5_under_retirement_value_check.rb deleted file mode 100644 index 012baaf87..000000000 --- a/app/models/form/lettings/pages/person_5_under_retirement_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::Person5UnderRetirementValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "person_5_under_retirement_value_check" - @depends_on = [{ "person_5_retired_under_soft_min_age?" => true }] - @title_text = { "translation" => "soft_validations.retirement.min.title", "arguments" => [{ "key" => "retirement_age_for_person_5", "label" => false, "i18n_template" => "age" }] } - @informative_text = { "translation" => "soft_validations.retirement.min.hint_text", "arguments" => [{ "key" => "plural_gender_for_person_5", "label" => false, "i18n_template" => "gender" }, { "key" => "retirement_age_for_person_5", "label" => false, "i18n_template" => "age" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::NoRetirementValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/person_6_over_retirement_value_check.rb b/app/models/form/lettings/pages/person_6_over_retirement_value_check.rb deleted file mode 100644 index 3af8cf0d0..000000000 --- a/app/models/form/lettings/pages/person_6_over_retirement_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::Person6OverRetirementValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "person_6_over_retirement_value_check" - @depends_on = [{ "person_6_not_retired_over_soft_max_age?" => true }] - @title_text = { "translation" => "soft_validations.retirement.max.title", "arguments" => [{ "key" => "retirement_age_for_person_6", "label" => false, "i18n_template" => "age" }] } - @informative_text = { "translation" => "soft_validations.retirement.max.hint_text", "arguments" => [{ "key" => "plural_gender_for_person_6", "label" => false, "i18n_template" => "gender" }, { "key" => "retirement_age_for_person_6", "label" => false, "i18n_template" => "age" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::RetirementValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/person_6_under_retirement_value_check.rb b/app/models/form/lettings/pages/person_6_under_retirement_value_check.rb deleted file mode 100644 index 8a59681c8..000000000 --- a/app/models/form/lettings/pages/person_6_under_retirement_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::Person6UnderRetirementValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "person_6_under_retirement_value_check" - @depends_on = [{ "person_6_retired_under_soft_min_age?" => true }] - @title_text = { "translation" => "soft_validations.retirement.min.title", "arguments" => [{ "key" => "retirement_age_for_person_6", "label" => false, "i18n_template" => "age" }] } - @informative_text = { "translation" => "soft_validations.retirement.min.hint_text", "arguments" => [{ "key" => "plural_gender_for_person_6", "label" => false, "i18n_template" => "gender" }, { "key" => "retirement_age_for_person_6", "label" => false, "i18n_template" => "age" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::NoRetirementValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/person_7_over_retirement_value_check.rb b/app/models/form/lettings/pages/person_7_over_retirement_value_check.rb deleted file mode 100644 index 0b0a39999..000000000 --- a/app/models/form/lettings/pages/person_7_over_retirement_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::Person7OverRetirementValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "person_7_over_retirement_value_check" - @depends_on = [{ "person_7_not_retired_over_soft_max_age?" => true }] - @title_text = { "translation" => "soft_validations.retirement.max.title", "arguments" => [{ "key" => "retirement_age_for_person_7", "label" => false, "i18n_template" => "age" }] } - @informative_text = { "translation" => "soft_validations.retirement.max.hint_text", "arguments" => [{ "key" => "plural_gender_for_person_7", "label" => false, "i18n_template" => "gender" }, { "key" => "retirement_age_for_person_7", "label" => false, "i18n_template" => "age" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::RetirementValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/person_7_under_retirement_value_check.rb b/app/models/form/lettings/pages/person_7_under_retirement_value_check.rb deleted file mode 100644 index cbe9dda96..000000000 --- a/app/models/form/lettings/pages/person_7_under_retirement_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::Person7UnderRetirementValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "person_7_under_retirement_value_check" - @depends_on = [{ "person_7_retired_under_soft_min_age?" => true }] - @title_text = { "translation" => "soft_validations.retirement.min.title", "arguments" => [{ "key" => "retirement_age_for_person_7", "label" => false, "i18n_template" => "age" }] } - @informative_text = { "translation" => "soft_validations.retirement.min.hint_text", "arguments" => [{ "key" => "plural_gender_for_person_7", "label" => false, "i18n_template" => "gender" }, { "key" => "retirement_age_for_person_7", "label" => false, "i18n_template" => "age" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::NoRetirementValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/person_8_over_retirement_value_check.rb b/app/models/form/lettings/pages/person_8_over_retirement_value_check.rb deleted file mode 100644 index 6c05fc093..000000000 --- a/app/models/form/lettings/pages/person_8_over_retirement_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::Person8OverRetirementValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "person_8_over_retirement_value_check" - @depends_on = [{ "person_8_not_retired_over_soft_max_age?" => true }] - @title_text = { "translation" => "soft_validations.retirement.max.title", "arguments" => [{ "key" => "retirement_age_for_person_8", "label" => false, "i18n_template" => "age" }] } - @informative_text = { "translation" => "soft_validations.retirement.max.hint_text", "arguments" => [{ "key" => "plural_gender_for_person_8", "label" => false, "i18n_template" => "gender" }, { "key" => "retirement_age_for_person_8", "label" => false, "i18n_template" => "age" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::RetirementValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/person_8_under_retirement_value_check.rb b/app/models/form/lettings/pages/person_8_under_retirement_value_check.rb deleted file mode 100644 index 64b721653..000000000 --- a/app/models/form/lettings/pages/person_8_under_retirement_value_check.rb +++ /dev/null @@ -1,13 +0,0 @@ -class Form::Lettings::Pages::Person8UnderRetirementValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "person_8_under_retirement_value_check" - @depends_on = [{ "person_8_retired_under_soft_min_age?" => true }] - @title_text = { "translation" => "soft_validations.retirement.min.title", "arguments" => [{ "key" => "retirement_age_for_person_8", "label" => false, "i18n_template" => "age" }] } - @informative_text = { "translation" => "soft_validations.retirement.min.hint_text", "arguments" => [{ "key" => "plural_gender_for_person_8", "label" => false, "i18n_template" => "gender" }, { "key" => "retirement_age_for_person_8", "label" => false, "i18n_template" => "age" }] } - end - - def questions - @questions ||= [Form::Lettings::Questions::NoRetirementValueCheck.new(nil, nil, self)] - end -end diff --git a/app/models/form/lettings/pages/person_over_retirement_value_check.rb b/app/models/form/lettings/pages/person_over_retirement_value_check.rb new file mode 100644 index 000000000..3de5246e6 --- /dev/null +++ b/app/models/form/lettings/pages/person_over_retirement_value_check.rb @@ -0,0 +1,36 @@ +class Form::Lettings::Pages::PersonOverRetirementValueCheck < ::Form::Page + def initialize(id, hsh, subsection, person_index:) + super(id, hsh, subsection) + @id = "person_#{person_index}_over_retirement_value_check" + @depends_on = [{ "person_#{person_index}_not_retired_over_soft_max_age?" => true }] + @title_text = { + "translation" => "soft_validations.retirement.max.title", + "arguments" => [ + { + "key" => "retirement_age_for_person_#{person_index}", + "label" => false, + "i18n_template" => "age", + }, + ], + } + @informative_text = { + "translation" => "soft_validations.retirement.max.hint_text", + "arguments" => [ + { + "key" => "plural_gender_for_person_#{person_index}", + "label" => false, + "i18n_template" => "gender", + }, + { + "key" => "retirement_age_for_person_#{person_index}", + "label" => false, + "i18n_template" => "age", + }, + ], + } + end + + def questions + @questions ||= [Form::Lettings::Questions::RetirementValueCheck.new(nil, nil, self)] + end +end diff --git a/app/models/form/lettings/pages/person_under_retirement_value_check.rb b/app/models/form/lettings/pages/person_under_retirement_value_check.rb new file mode 100644 index 000000000..cdcc817b0 --- /dev/null +++ b/app/models/form/lettings/pages/person_under_retirement_value_check.rb @@ -0,0 +1,34 @@ +class Form::Lettings::Pages::PersonUnderRetirementValueCheck < ::Form::Page + def initialize(id, hsh, subsection, person_index:) + super(id, hsh, subsection) + @id = "person_#{person_index}_under_retirement_value_check" + @depends_on = [{ "person_#{person_index}_retired_under_soft_min_age?" => true }] + @title_text = { + "translation" => "soft_validations.retirement.min.title", + "arguments" => [{ + "key" => "retirement_age_for_person_#{person_index}", + "label" => false, + "i18n_template" => "age", + }], + } + @informative_text = { + "translation" => "soft_validations.retirement.min.hint_text", + "arguments" => [ + { + "key" => "plural_gender_for_person_#{person_index}", + "label" => false, + "i18n_template" => "gender", + }, + { + "key" => "retirement_age_for_person_#{person_index}", + "label" => false, + "i18n_template" => "age", + }, + ], + } + end + + def questions + @questions ||= [Form::Lettings::Questions::NoRetirementValueCheck.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 d7084c42c..86b3f796a 100644 --- a/app/models/form/lettings/subsections/household_characteristics.rb +++ b/app/models/form/lettings/subsections/household_characteristics.rb @@ -36,8 +36,8 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson2ValueCheck.new(nil, nil, self), Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson2ValueCheck.new(nil, nil, self), Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 2), - Form::Lettings::Pages::Person2UnderRetirementValueCheck.new(nil, nil, self), - Form::Lettings::Pages::Person2OverRetirementValueCheck.new(nil, nil, self), + Form::Lettings::Pages::PersonUnderRetirementValueCheck.new(nil, nil, self, person_index: 2), + Form::Lettings::Pages::PersonOverRetirementValueCheck.new(nil, nil, self, person_index: 2), Form::Lettings::Pages::PersonKnown.new(nil, nil, self, person_index: 3), Form::Lettings::Pages::PersonRelationshipToLead.new(nil, nil, self, person_index: 3), Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 3), @@ -47,8 +47,8 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson3ValueCheck.new(nil, nil, self), Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson3ValueCheck.new(nil, nil, self), Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 3), - Form::Lettings::Pages::Person3UnderRetirementValueCheck.new(nil, nil, self), - Form::Lettings::Pages::Person3OverRetirementValueCheck.new(nil, nil, self), + Form::Lettings::Pages::PersonUnderRetirementValueCheck.new(nil, nil, self, person_index: 3), + Form::Lettings::Pages::PersonOverRetirementValueCheck.new(nil, nil, self, person_index: 3), Form::Lettings::Pages::PersonKnown.new(nil, nil, self, person_index: 4), Form::Lettings::Pages::PersonRelationshipToLead.new(nil, nil, self, person_index: 4), Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 4), @@ -58,8 +58,8 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson4ValueCheck.new(nil, nil, self), Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson4ValueCheck.new(nil, nil, self), Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 4), - Form::Lettings::Pages::Person4UnderRetirementValueCheck.new(nil, nil, self), - Form::Lettings::Pages::Person4OverRetirementValueCheck.new(nil, nil, self), + Form::Lettings::Pages::PersonUnderRetirementValueCheck.new(nil, nil, self, person_index: 4), + Form::Lettings::Pages::PersonOverRetirementValueCheck.new(nil, nil, self, person_index: 4), Form::Lettings::Pages::PersonKnown.new(nil, nil, self, person_index: 5), Form::Lettings::Pages::PersonRelationshipToLead.new(nil, nil, self, person_index: 5), Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 5), @@ -69,8 +69,8 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson5ValueCheck.new(nil, nil, self), Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson5ValueCheck.new(nil, nil, self), Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 5), - Form::Lettings::Pages::Person5UnderRetirementValueCheck.new(nil, nil, self), - Form::Lettings::Pages::Person5OverRetirementValueCheck.new(nil, nil, self), + Form::Lettings::Pages::PersonUnderRetirementValueCheck.new(nil, nil, self, person_index: 5), + Form::Lettings::Pages::PersonOverRetirementValueCheck.new(nil, nil, self, person_index: 5), Form::Lettings::Pages::PersonKnown.new(nil, nil, self, person_index: 6), Form::Lettings::Pages::PersonRelationshipToLead.new(nil, nil, self, person_index: 6), Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 6), @@ -80,8 +80,8 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson6ValueCheck.new(nil, nil, self), Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson6ValueCheck.new(nil, nil, self), Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 6), - Form::Lettings::Pages::Person6UnderRetirementValueCheck.new(nil, nil, self), - Form::Lettings::Pages::Person6OverRetirementValueCheck.new(nil, nil, self), + Form::Lettings::Pages::PersonUnderRetirementValueCheck.new(nil, nil, self, person_index: 6), + Form::Lettings::Pages::PersonOverRetirementValueCheck.new(nil, nil, self, person_index: 6), Form::Lettings::Pages::PersonKnown.new(nil, nil, self, person_index: 7), Form::Lettings::Pages::PersonRelationshipToLead.new(nil, nil, self, person_index: 7), Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 7), @@ -91,8 +91,8 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson7ValueCheck.new(nil, nil, self), Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson7ValueCheck.new(nil, nil, self), Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 7), - Form::Lettings::Pages::Person7UnderRetirementValueCheck.new(nil, nil, self), - Form::Lettings::Pages::Person7OverRetirementValueCheck.new(nil, nil, self), + Form::Lettings::Pages::PersonUnderRetirementValueCheck.new(nil, nil, self, person_index: 7), + Form::Lettings::Pages::PersonOverRetirementValueCheck.new(nil, nil, self, person_index: 7), Form::Lettings::Pages::PersonKnown.new(nil, nil, self, person_index: 8), Form::Lettings::Pages::PersonRelationshipToLead.new(nil, nil, self, person_index: 8), Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 8), @@ -102,7 +102,7 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::NoFemalesPregnantHouseholdPerson8ValueCheck.new(nil, nil, self), Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPerson8ValueCheck.new(nil, nil, self), Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 8), - Form::Lettings::Pages::Person8UnderRetirementValueCheck.new(nil, nil, self), - Form::Lettings::Pages::Person8OverRetirementValueCheck.new(nil, nil, self)].compact + Form::Lettings::Pages::PersonUnderRetirementValueCheck.new(nil, nil, self, person_index: 8), + Form::Lettings::Pages::PersonOverRetirementValueCheck.new(nil, nil, self, person_index: 8)].compact end end diff --git a/spec/models/form/lettings/pages/person_over_retirement_value_check_spec.rb b/spec/models/form/lettings/pages/person_over_retirement_value_check_spec.rb new file mode 100644 index 000000000..45587b4fb --- /dev/null +++ b/spec/models/form/lettings/pages/person_over_retirement_value_check_spec.rb @@ -0,0 +1,113 @@ +require "rails_helper" + +RSpec.describe Form::Lettings::Pages::PersonOverRetirementValueCheck, 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[retirement_value_check]) + end + + context "with person 2" do + it "has the correct id" do + expect(page.id).to eq("person_2_over_retirement_value_check") + end + + it "has correct depends_on" do + expect(page.depends_on).to eq( + [{ "person_2_not_retired_over_soft_max_age?" => true }], + ) + end + + it "has the correct title_text" do + expect(page.title_text).to eq({ + "translation" => "soft_validations.retirement.max.title", + "arguments" => [ + { + "key" => "retirement_age_for_person_2", + "label" => false, + "i18n_template" => "age", + }, + ], + }) + end + + it "has the correct informative_text" do + expect(page.informative_text).to eq({ + "translation" => "soft_validations.retirement.max.hint_text", + "arguments" => [ + { + "key" => "plural_gender_for_person_2", + "label" => false, + "i18n_template" => "gender", + }, + { + "key" => "retirement_age_for_person_2", + "label" => false, + "i18n_template" => "age", + }, + ], + }) + end + end + + context "with person 3" do + let(:person_index) { 3 } + + it "has the correct id" do + expect(page.id).to eq("person_3_over_retirement_value_check") + end + + it "has correct depends_on" do + expect(page.depends_on).to eq( + [{ "person_3_not_retired_over_soft_max_age?" => true }], + ) + end + + it "has the correct title_text" do + expect(page.title_text).to eq({ + "translation" => "soft_validations.retirement.max.title", + "arguments" => [ + { + "key" => "retirement_age_for_person_3", + "label" => false, + "i18n_template" => "age", + }, + ], + }) + end + + it "has the correct informative_text" do + expect(page.informative_text).to eq({ + "translation" => "soft_validations.retirement.max.hint_text", + "arguments" => [ + { + "key" => "plural_gender_for_person_3", + "label" => false, + "i18n_template" => "gender", + }, + { + "key" => "retirement_age_for_person_3", + "label" => false, + "i18n_template" => "age", + }, + ], + }) + end + end +end diff --git a/spec/models/form/lettings/pages/person_under_retirement_value_check_spec.rb b/spec/models/form/lettings/pages/person_under_retirement_value_check_spec.rb new file mode 100644 index 000000000..dc689992e --- /dev/null +++ b/spec/models/form/lettings/pages/person_under_retirement_value_check_spec.rb @@ -0,0 +1,109 @@ +require "rails_helper" + +RSpec.describe Form::Lettings::Pages::PersonUnderRetirementValueCheck, 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[retirement_value_check]) + end + + context "with person 2" do + it "has the correct id" do + expect(page.id).to eq("person_2_under_retirement_value_check") + end + + it "has correct depends_on" do + expect(page.depends_on).to eq( + [{ "person_2_retired_under_soft_min_age?" => true }], + ) + end + + it "has the correct title_text" do + expect(page.title_text).to eq({ + "translation" => "soft_validations.retirement.min.title", + "arguments" => [{ + "key" => "retirement_age_for_person_2", + "label" => false, + "i18n_template" => "age", + }], + }) + end + + it "has the correct informative_text" do + expect(page.informative_text).to eq({ + "translation" => "soft_validations.retirement.min.hint_text", + "arguments" => [ + { + "key" => "plural_gender_for_person_2", + "label" => false, + "i18n_template" => "gender", + }, + { + "key" => "retirement_age_for_person_2", + "label" => false, + "i18n_template" => "age", + }, + ], + }) + end + end + + context "with person 3" do + let(:person_index) { 3 } + + it "has the correct id" do + expect(page.id).to eq("person_3_under_retirement_value_check") + end + + it "has correct depends_on" do + expect(page.depends_on).to eq( + [{ "person_3_retired_under_soft_min_age?" => true }], + ) + end + + it "has the correct title_text" do + expect(page.title_text).to eq({ + "translation" => "soft_validations.retirement.min.title", + "arguments" => [{ + "key" => "retirement_age_for_person_3", + "label" => false, + "i18n_template" => "age", + }], + }) + end + + it "has the correct informative_text" do + expect(page.informative_text).to eq({ + "translation" => "soft_validations.retirement.min.hint_text", + "arguments" => [ + { + "key" => "plural_gender_for_person_3", + "label" => false, + "i18n_template" => "gender", + }, + { + "key" => "retirement_age_for_person_3", + "label" => false, + "i18n_template" => "age", + }, + ], + }) + end + end +end