Browse Source

make retirement check generic

pull/1254/head
Kat 3 years ago
parent
commit
73849e2760
  1. 13
      app/models/form/lettings/pages/person_2_over_retirement_value_check.rb
  2. 13
      app/models/form/lettings/pages/person_2_under_retirement_value_check.rb
  3. 13
      app/models/form/lettings/pages/person_3_over_retirement_value_check.rb
  4. 13
      app/models/form/lettings/pages/person_3_under_retirement_value_check.rb
  5. 13
      app/models/form/lettings/pages/person_4_over_retirement_value_check.rb
  6. 13
      app/models/form/lettings/pages/person_4_under_retirement_value_check.rb
  7. 13
      app/models/form/lettings/pages/person_5_over_retirement_value_check.rb
  8. 13
      app/models/form/lettings/pages/person_5_under_retirement_value_check.rb
  9. 13
      app/models/form/lettings/pages/person_6_over_retirement_value_check.rb
  10. 13
      app/models/form/lettings/pages/person_6_under_retirement_value_check.rb
  11. 13
      app/models/form/lettings/pages/person_7_over_retirement_value_check.rb
  12. 13
      app/models/form/lettings/pages/person_7_under_retirement_value_check.rb
  13. 13
      app/models/form/lettings/pages/person_8_over_retirement_value_check.rb
  14. 13
      app/models/form/lettings/pages/person_8_under_retirement_value_check.rb
  15. 36
      app/models/form/lettings/pages/person_over_retirement_value_check.rb
  16. 34
      app/models/form/lettings/pages/person_under_retirement_value_check.rb
  17. 28
      app/models/form/lettings/subsections/household_characteristics.rb
  18. 113
      spec/models/form/lettings/pages/person_over_retirement_value_check_spec.rb
  19. 109
      spec/models/form/lettings/pages/person_under_retirement_value_check_spec.rb

13
app/models/form/lettings/pages/person_2_over_retirement_value_check.rb

@ -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

13
app/models/form/lettings/pages/person_2_under_retirement_value_check.rb

@ -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

13
app/models/form/lettings/pages/person_3_over_retirement_value_check.rb

@ -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

13
app/models/form/lettings/pages/person_3_under_retirement_value_check.rb

@ -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

13
app/models/form/lettings/pages/person_4_over_retirement_value_check.rb

@ -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

13
app/models/form/lettings/pages/person_4_under_retirement_value_check.rb

@ -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

13
app/models/form/lettings/pages/person_5_over_retirement_value_check.rb

@ -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

13
app/models/form/lettings/pages/person_5_under_retirement_value_check.rb

@ -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

13
app/models/form/lettings/pages/person_6_over_retirement_value_check.rb

@ -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

13
app/models/form/lettings/pages/person_6_under_retirement_value_check.rb

@ -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

13
app/models/form/lettings/pages/person_7_over_retirement_value_check.rb

@ -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

13
app/models/form/lettings/pages/person_7_under_retirement_value_check.rb

@ -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

13
app/models/form/lettings/pages/person_8_over_retirement_value_check.rb

@ -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

13
app/models/form/lettings/pages/person_8_under_retirement_value_check.rb

@ -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

36
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

34
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

28
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

113
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

109
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
Loading…
Cancel
Save