19 changed files with 306 additions and 196 deletions
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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 |
||||
@ -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…
Reference in new issue