From c7f9a9059c916783fee489c8ac7caadc8b169cb8 Mon Sep 17 00:00:00 2001 From: Kat Date: Wed, 1 Feb 2023 11:22:41 +0000 Subject: [PATCH] Add a generic person age page using generic questions and adjust specs --- app/models/form/lettings/pages/person_age.rb | 14 ++++++++++++++ .../models/form/lettings/pages/person2_age_spec.rb | 6 +++--- .../models/form/lettings/pages/person3_age_spec.rb | 6 +++--- .../models/form/lettings/pages/person4_age_spec.rb | 6 +++--- .../models/form/lettings/pages/person5_age_spec.rb | 6 +++--- .../models/form/lettings/pages/person6_age_spec.rb | 6 +++--- .../models/form/lettings/pages/person7_age_spec.rb | 6 +++--- .../models/form/lettings/pages/person8_age_spec.rb | 6 +++--- 8 files changed, 35 insertions(+), 21 deletions(-) create mode 100644 app/models/form/lettings/pages/person_age.rb diff --git a/app/models/form/lettings/pages/person_age.rb b/app/models/form/lettings/pages/person_age.rb new file mode 100644 index 000000000..1b71c5af2 --- /dev/null +++ b/app/models/form/lettings/pages/person_age.rb @@ -0,0 +1,14 @@ +class Form::Lettings::Pages::PersonAge < ::Form::Page + def initialize(id, hsh, subsection, person_index:) + super(id, hsh, subsection) + @id = "person_#{person_index}_age" + @header = "" + @depends_on = [{ "details_known_#{person_index}" => 0 }] + @description = "" + @person_index = person_index + end + + def questions + @questions ||= [Form::Lettings::Questions::AgeKnown.new(nil, nil, self, person_index: @person_index), Form::Lettings::Questions::Age.new(nil, nil, self, person_index: @person_index)] + end +end diff --git a/spec/models/form/lettings/pages/person2_age_spec.rb b/spec/models/form/lettings/pages/person2_age_spec.rb index 32f51b69c..f6e16cbb6 100644 --- a/spec/models/form/lettings/pages/person2_age_spec.rb +++ b/spec/models/form/lettings/pages/person2_age_spec.rb @@ -1,11 +1,11 @@ require "rails_helper" -RSpec.describe Form::Lettings::Pages::Person2Age, type: :model do - subject(:page) { described_class.new(page_id, page_definition, subsection) } +RSpec.describe Form::Lettings::Pages::PersonAge, type: :model do + subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } - let(:page_id) { "person_2_age" } 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) diff --git a/spec/models/form/lettings/pages/person3_age_spec.rb b/spec/models/form/lettings/pages/person3_age_spec.rb index 75ffab37e..4b0b9ee0d 100644 --- a/spec/models/form/lettings/pages/person3_age_spec.rb +++ b/spec/models/form/lettings/pages/person3_age_spec.rb @@ -1,11 +1,11 @@ require "rails_helper" -RSpec.describe Form::Lettings::Pages::Person3Age, type: :model do - subject(:page) { described_class.new(page_id, page_definition, subsection) } +RSpec.describe Form::Lettings::Pages::PersonAge, type: :model do + subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } - let(:page_id) { "person_3_age" } let(:page_definition) { nil } let(:subsection) { instance_double(Form::Subsection) } + let(:person_index) { 3 } it "has correct subsection" do expect(page.subsection).to eq(subsection) diff --git a/spec/models/form/lettings/pages/person4_age_spec.rb b/spec/models/form/lettings/pages/person4_age_spec.rb index df825984e..1866127c7 100644 --- a/spec/models/form/lettings/pages/person4_age_spec.rb +++ b/spec/models/form/lettings/pages/person4_age_spec.rb @@ -1,11 +1,11 @@ require "rails_helper" -RSpec.describe Form::Lettings::Pages::Person4Age, type: :model do - subject(:page) { described_class.new(page_id, page_definition, subsection) } +RSpec.describe Form::Lettings::Pages::PersonAge, type: :model do + subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } - let(:page_id) { "person_4_age" } let(:page_definition) { nil } let(:subsection) { instance_double(Form::Subsection) } + let(:person_index) { 4 } it "has correct subsection" do expect(page.subsection).to eq(subsection) diff --git a/spec/models/form/lettings/pages/person5_age_spec.rb b/spec/models/form/lettings/pages/person5_age_spec.rb index 238346d52..bd3e231ec 100644 --- a/spec/models/form/lettings/pages/person5_age_spec.rb +++ b/spec/models/form/lettings/pages/person5_age_spec.rb @@ -1,11 +1,11 @@ require "rails_helper" -RSpec.describe Form::Lettings::Pages::Person5Age, type: :model do - subject(:page) { described_class.new(page_id, page_definition, subsection) } +RSpec.describe Form::Lettings::Pages::PersonAge, type: :model do + subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } - let(:page_id) { "person_5_age" } let(:page_definition) { nil } let(:subsection) { instance_double(Form::Subsection) } + let(:person_index) { 5 } it "has correct subsection" do expect(page.subsection).to eq(subsection) diff --git a/spec/models/form/lettings/pages/person6_age_spec.rb b/spec/models/form/lettings/pages/person6_age_spec.rb index a5f09800d..9dbc891e5 100644 --- a/spec/models/form/lettings/pages/person6_age_spec.rb +++ b/spec/models/form/lettings/pages/person6_age_spec.rb @@ -1,11 +1,11 @@ require "rails_helper" -RSpec.describe Form::Lettings::Pages::Person6Age, type: :model do - subject(:page) { described_class.new(page_id, page_definition, subsection) } +RSpec.describe Form::Lettings::Pages::PersonAge, type: :model do + subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } - let(:page_id) { "person_6_age" } let(:page_definition) { nil } let(:subsection) { instance_double(Form::Subsection) } + let(:person_index) { 6 } it "has correct subsection" do expect(page.subsection).to eq(subsection) diff --git a/spec/models/form/lettings/pages/person7_age_spec.rb b/spec/models/form/lettings/pages/person7_age_spec.rb index d0b0f723b..9a018ef9a 100644 --- a/spec/models/form/lettings/pages/person7_age_spec.rb +++ b/spec/models/form/lettings/pages/person7_age_spec.rb @@ -1,11 +1,11 @@ require "rails_helper" -RSpec.describe Form::Lettings::Pages::Person7Age, type: :model do - subject(:page) { described_class.new(page_id, page_definition, subsection) } +RSpec.describe Form::Lettings::Pages::PersonAge, type: :model do + subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } - let(:page_id) { "person_7_age" } let(:page_definition) { nil } let(:subsection) { instance_double(Form::Subsection) } + let(:person_index) { 7 } it "has correct subsection" do expect(page.subsection).to eq(subsection) diff --git a/spec/models/form/lettings/pages/person8_age_spec.rb b/spec/models/form/lettings/pages/person8_age_spec.rb index ba0786cbf..e3118631e 100644 --- a/spec/models/form/lettings/pages/person8_age_spec.rb +++ b/spec/models/form/lettings/pages/person8_age_spec.rb @@ -1,11 +1,11 @@ require "rails_helper" -RSpec.describe Form::Lettings::Pages::Person8Age, type: :model do - subject(:page) { described_class.new(page_id, page_definition, subsection) } +RSpec.describe Form::Lettings::Pages::PersonAge, type: :model do + subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } - let(:page_id) { "person_8_age" } let(:page_definition) { nil } let(:subsection) { instance_double(Form::Subsection) } + let(:person_index) { 8 } it "has correct subsection" do expect(page.subsection).to eq(subsection)