From ee391860f252c32134a1efadf118b6f43d7349bb Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Tue, 10 Feb 2026 09:52:48 +0000 Subject: [PATCH] CLDC-4202: Update tests --- .../form/lettings/pages/person_age_spec.rb | 2 +- .../pages/person_lead_partner_spec.rb | 11 ++--- .../pages/person_working_situation_spec.rb | 2 +- .../form/lettings/questions/age_spec.rb | 40 ++++++++++++++++++- .../person_working_situation_spec.rb | 2 +- 5 files changed, 45 insertions(+), 12 deletions(-) diff --git a/spec/models/form/lettings/pages/person_age_spec.rb b/spec/models/form/lettings/pages/person_age_spec.rb index 2043052fd..41704a50f 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)) } + 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(: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 55ee97e1d..15a6203df 100644 --- a/spec/models/form/lettings/pages/person_lead_partner_spec.rb +++ b/spec/models/form/lettings/pages/person_lead_partner_spec.rb @@ -4,7 +4,8 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } let(:page_definition) { nil } - let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1)) } + 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(:subsection) { instance_double(Form::Subsection, form:) } let(:person_index) { 2 } @@ -26,10 +27,6 @@ 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 - it "has correct depends_on" do expect(page.depends_on).to eq( [{ "details_known_2" => 0 }], @@ -38,9 +35,7 @@ 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 } 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 a88cdcde0..2465abe06 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))) } + 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(: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 639f695fd..c410508e9 100644 --- a/spec/models/form/lettings/questions/age_spec.rb +++ b/spec/models/form/lettings/questions/age_spec.rb @@ -1,10 +1,14 @@ require "rails_helper" RSpec.describe Form::Lettings::Questions::Age, type: :model do + include CollectionTimeHelper + 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(2023, 4, 4), start_year_2024_or_later?: false))) } + let(:start_year_2026_or_later?) { false } + 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(:person_index) { 2 } it "has correct page" do @@ -48,6 +52,23 @@ RSpec.describe Form::Lettings::Questions::Age, type: :model do it "has the correct check_answers_card_number" do expect(question.check_answers_card_number).to eq(2) end + + context "with year 2025", metadata: { year: 25 } do + let(:start_year) { 2025 } + + it "has the correct question number" do + expect(question.question_number).to eq(38) + end + end + + context "with year 2026", metadata: { year: 26 } do + let(:start_year_2026_or_later?) { true } + let(:start_year) { 2026 } + + it "has the correct question number" do + expect(question.question_number).to eq(37) + end + end end context "with person 3" do @@ -69,5 +90,22 @@ RSpec.describe Form::Lettings::Questions::Age, type: :model do it "has the correct check_answers_card_number" do expect(question.check_answers_card_number).to eq(3) end + + context "with year 2025", metadata: { year: 25 } do + let(:start_year) { 2025 } + + it "has the correct question number" do + expect(question.question_number).to eq(42) + end + end + + context "with year 2026", metadata: { year: 26 } do + let(:start_year_2026_or_later?) { true } + let(:start_year) { 2026 } + + it "has the correct question number" do + expect(question.question_number).to eq(42) + end + end end end 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 503c699b2..43d2f8a22 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,7 @@ 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)))) } + 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_index) { 2 } before do