From ef7df36c3b36bafaaee6b05e26e86a0415714f8e Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Tue, 10 Feb 2026 17:36:42 +0000 Subject: [PATCH] fixup! CLDC-4202: Extract person question count to the form definition update tests --- .../models/form/lettings/pages/person_age_spec.rb | 2 +- .../lettings/pages/person_lead_partner_spec.rb | 15 ++++++++------- .../pages/person_working_situation_spec.rb | 2 +- spec/models/form/lettings/questions/age_spec.rb | 7 ++++++- .../lettings/questions/person_partner_spec.rb | 2 ++ .../questions/person_working_situation_spec.rb | 3 ++- 6 files changed, 20 insertions(+), 11 deletions(-) diff --git a/spec/models/form/lettings/pages/person_age_spec.rb b/spec/models/form/lettings/pages/person_age_spec.rb index 41704a50f..83ada2d89 100644 --- a/spec/models/form/lettings/pages/person_age_spec.rb +++ b/spec/models/form/lettings/pages/person_age_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Form::Lettings::Pages::PersonAge, type: :model do subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } let(:page_definition) { nil } - let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2024_or_later?: false, start_year_2026_or_later?: false)) } + let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2024_or_later?: false, start_year_2026_or_later?: false, person_question_count: 5)) } let(:person_index) { 2 } it "has correct subsection" do diff --git a/spec/models/form/lettings/pages/person_lead_partner_spec.rb b/spec/models/form/lettings/pages/person_lead_partner_spec.rb index 15a6203df..e872223f2 100644 --- a/spec/models/form/lettings/pages/person_lead_partner_spec.rb +++ b/spec/models/form/lettings/pages/person_lead_partner_spec.rb @@ -5,7 +5,8 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do let(:page_definition) { nil } let(:start_year_2026_or_later?) { false } - let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2026_or_later?: start_year_2026_or_later?) } + let(:person_question_count) { 5 } + let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2026_or_later?: start_year_2026_or_later?, person_question_count:) } let(:subsection) { instance_double(Form::Subsection, form:) } let(:person_index) { 2 } @@ -27,6 +28,8 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do end context "with start year < 2026", metadata: { year: 25 } do + let(:person_question_count) { 4 } + it "has correct depends_on" do expect(page.depends_on).to eq( [{ "details_known_2" => 0 }], @@ -36,6 +39,7 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do context "with start year >= 2026", metadata: { year: 26 } do let(:start_year_2026_or_later?) { true } + let(:person_question_count) { 5 } it "has correct depends_on" do expect(page.depends_on).to eq( @@ -66,9 +70,7 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do end context "with start year < 2026", metadata: { year: 25 } do - before do - allow(form).to receive(:start_year_2026_or_later?).and_return(false) - end + let(:person_question_count) { 4 } it "has correct depends_on" do expect(page.depends_on).to eq( @@ -78,9 +80,8 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do end context "with start year >= 2026", metadata: { year: 26 } do - before do - allow(form).to receive(:start_year_2026_or_later?).and_return(true) - end + let(:start_year_2026_or_later?) { true } + let(:person_question_count) { 5 } it "has correct depends_on" do expect(page.depends_on).to eq( diff --git a/spec/models/form/lettings/pages/person_working_situation_spec.rb b/spec/models/form/lettings/pages/person_working_situation_spec.rb index 2465abe06..2121d599e 100644 --- a/spec/models/form/lettings/pages/person_working_situation_spec.rb +++ b/spec/models/form/lettings/pages/person_working_situation_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Form::Lettings::Pages::PersonWorkingSituation, type: :model do subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } let(:page_definition) { nil } - let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2026_or_later?: false)) } + let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2026_or_later?: false, person_question_count: 5)) } let(:person_index) { 2 } before do diff --git a/spec/models/form/lettings/questions/age_spec.rb b/spec/models/form/lettings/questions/age_spec.rb index c410508e9..8d3003b82 100644 --- a/spec/models/form/lettings/questions/age_spec.rb +++ b/spec/models/form/lettings/questions/age_spec.rb @@ -7,8 +7,9 @@ RSpec.describe Form::Lettings::Questions::Age, type: :model do let(:question_definition) { nil } let(:start_year_2026_or_later?) { false } + let(:person_question_count) { 5 } let(:start_year) { current_collection_start_year } - let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: collection_start_date_for_year(start_year), start_year_2024_or_later?: true, start_year_2026_or_later?: start_year_2026_or_later?))) } + let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: collection_start_date_for_year(start_year), start_year_2024_or_later?: true, start_year_2026_or_later?: start_year_2026_or_later?, person_question_count:))) } let(:person_index) { 2 } it "has correct page" do @@ -55,6 +56,7 @@ RSpec.describe Form::Lettings::Questions::Age, type: :model do context "with year 2025", metadata: { year: 25 } do let(:start_year) { 2025 } + let(:person_question_count) { 4 } it "has the correct question number" do expect(question.question_number).to eq(38) @@ -64,6 +66,7 @@ RSpec.describe Form::Lettings::Questions::Age, type: :model do context "with year 2026", metadata: { year: 26 } do let(:start_year_2026_or_later?) { true } let(:start_year) { 2026 } + let(:person_question_count) { 5 } it "has the correct question number" do expect(question.question_number).to eq(37) @@ -93,6 +96,7 @@ RSpec.describe Form::Lettings::Questions::Age, type: :model do context "with year 2025", metadata: { year: 25 } do let(:start_year) { 2025 } + let(:person_question_count) { 4 } it "has the correct question number" do expect(question.question_number).to eq(42) @@ -102,6 +106,7 @@ RSpec.describe Form::Lettings::Questions::Age, type: :model do context "with year 2026", metadata: { year: 26 } do let(:start_year_2026_or_later?) { true } let(:start_year) { 2026 } + let(:person_question_count) { 5 } it "has the correct question number" do expect(question.question_number).to eq(42) diff --git a/spec/models/form/lettings/questions/person_partner_spec.rb b/spec/models/form/lettings/questions/person_partner_spec.rb index 2106bc36f..7f9799fa2 100644 --- a/spec/models/form/lettings/questions/person_partner_spec.rb +++ b/spec/models/form/lettings/questions/person_partner_spec.rb @@ -7,6 +7,7 @@ RSpec.describe Form::Lettings::Questions::PersonPartner, type: :model do let(:question_definition) { nil } let(:year) { nil } + let(:person_question_count) { 5 } let(:page) do instance_double( Form::Page, @@ -17,6 +18,7 @@ RSpec.describe Form::Lettings::Questions::PersonPartner, type: :model do start_date: year ? collection_start_date_for_year(year) : current_collection_start_date, start_year_2025_or_later?: year.nil? || year >= 2025, start_year_2026_or_later?: year.nil? || year >= 2026, + person_question_count: ), ), ) diff --git a/spec/models/form/lettings/questions/person_working_situation_spec.rb b/spec/models/form/lettings/questions/person_working_situation_spec.rb index 43d2f8a22..c828eab44 100644 --- a/spec/models/form/lettings/questions/person_working_situation_spec.rb +++ b/spec/models/form/lettings/questions/person_working_situation_spec.rb @@ -4,7 +4,8 @@ RSpec.describe Form::Lettings::Questions::PersonWorkingSituation, type: :model d subject(:question) { described_class.new(nil, question_definition, page, person_index:) } let(:question_definition) { nil } - let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2025, 4, 4), start_year_2026_or_later?: false))) } + let(:person_question_count) { 5 } + let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2025, 4, 4), start_year_2026_or_later?: false, person_question_count:))) } let(:person_index) { 2 } before do