From c1f2f00c984468164ff9e7010bcfe7ffda035d9b Mon Sep 17 00:00:00 2001 From: Nat Dean-Lewis Date: Wed, 11 Feb 2026 12:33:54 +0000 Subject: [PATCH] CLDC-1980: update base q tests --- .../sales/questions/housing_benefits_spec.rb | 31 ++++++++++++++++++- .../form/sales/questions/prevown_spec.rb | 31 ++++++++++++++++++- .../form/sales/questions/prevshared_spec.rb | 31 ++++++++++++++++++- .../form/sales/questions/savings_nk_spec.rb | 31 ++++++++++++++++++- .../form/sales/questions/savings_spec.rb | 31 ++++++++++++++++++- 5 files changed, 150 insertions(+), 5 deletions(-) diff --git a/spec/models/form/sales/questions/housing_benefits_spec.rb b/spec/models/form/sales/questions/housing_benefits_spec.rb index 21a84a6b8..97d896fe7 100644 --- a/spec/models/form/sales/questions/housing_benefits_spec.rb +++ b/spec/models/form/sales/questions/housing_benefits_spec.rb @@ -5,9 +5,18 @@ RSpec.describe Form::Sales::Questions::HousingBenefits, type: :model do let(:question_id) { nil } 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, 1)))) } + let(:page) { instance_double(Form::Page) } + let(:subsection) { instance_double(Form::Subsection) } + let(:form) { instance_double(Form) } let(:joint_purchase) { false } + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(true) + allow(form).to receive(:start_date).and_return(Time.zone.local(2023, 4, 1)) + allow(page).to receive(:subsection).and_return(subsection) + allow(subsection).to receive(:form).and_return(form) + end + it "has correct page" do expect(question.page).to eq(page) end @@ -24,6 +33,26 @@ RSpec.describe Form::Sales::Questions::HousingBenefits, type: :model do expect(question.derived?(nil)).to be false end + context "when in 2025", { year: 25 } do + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(false) + end + + it "does not have a check_answers_card_title" do + expect(question.check_answers_card_title).to be_nil + end + end + + context "when in 2026", { year: 26 } do + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(true) + end + + it "has check_answers_card_title set to 'All buyers'" do + expect(question.check_answers_card_title).to eq("All buyers") + end + end + it "has the correct answer_options" do expect(question.answer_options).to eq({ "2" => { "value" => "Housing benefit" }, diff --git a/spec/models/form/sales/questions/prevown_spec.rb b/spec/models/form/sales/questions/prevown_spec.rb index 73b6063c1..bbeed65a0 100644 --- a/spec/models/form/sales/questions/prevown_spec.rb +++ b/spec/models/form/sales/questions/prevown_spec.rb @@ -5,9 +5,18 @@ RSpec.describe Form::Sales::Questions::Prevown, type: :model do let(:question_id) { nil } 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, 1)))) } + let(:page) { instance_double(Form::Page) } + let(:subsection) { instance_double(Form::Subsection) } + let(:form) { instance_double(Form) } let(:joint_purchase) { false } + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(true) + allow(form).to receive(:start_date).and_return(Time.zone.local(2023, 4, 1)) + allow(page).to receive(:subsection).and_return(subsection) + allow(subsection).to receive(:form).and_return(form) + end + it "has correct page" do expect(question.page).to eq(page) end @@ -24,6 +33,26 @@ RSpec.describe Form::Sales::Questions::Prevown, type: :model do expect(question.derived?(nil)).to be false end + context "when in 2025", { year: 25 } do + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(false) + end + + it "does not have a check_answers_card_title" do + expect(question.check_answers_card_title).to be_nil + end + end + + context "when in 2026", { year: 26 } do + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(true) + end + + it "has check_answers_card_title set to 'All buyers'" do + expect(question.check_answers_card_title).to eq("All buyers") + end + end + it "has the correct answer_options" do expect(question.answer_options).to eq({ "1" => { "value" => "Yes" }, diff --git a/spec/models/form/sales/questions/prevshared_spec.rb b/spec/models/form/sales/questions/prevshared_spec.rb index 889a7c92c..2540a46e2 100644 --- a/spec/models/form/sales/questions/prevshared_spec.rb +++ b/spec/models/form/sales/questions/prevshared_spec.rb @@ -5,7 +5,16 @@ RSpec.describe Form::Sales::Questions::Prevshared, type: :model do let(:question_id) { nil } 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, 1)))) } + let(:page) { instance_double(Form::Page) } + let(:subsection) { instance_double(Form::Subsection) } + let(:form) { instance_double(Form) } + + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(true) + allow(form).to receive(:start_date).and_return(Time.zone.local(2023, 4, 1)) + allow(page).to receive(:subsection).and_return(subsection) + allow(subsection).to receive(:form).and_return(form) + end it "has correct page" do expect(question.page).to eq(page) @@ -23,6 +32,26 @@ RSpec.describe Form::Sales::Questions::Prevshared, type: :model do expect(question.derived?(nil)).to be false end + context "when in 2025", { year: 25 } do + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(false) + end + + it "does not have a check_answers_card_title" do + expect(question.check_answers_card_title).to be_nil + end + end + + context "when in 2026", { year: 26 } do + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(true) + end + + it "has check_answers_card_title set to 'All buyers'" do + expect(question.check_answers_card_title).to eq("All buyers") + end + end + it "has the correct answer_options" do expect(question.answer_options).to eq({ "1" => { "value" => "Yes" }, diff --git a/spec/models/form/sales/questions/savings_nk_spec.rb b/spec/models/form/sales/questions/savings_nk_spec.rb index 597138c2e..0d0e27bbf 100644 --- a/spec/models/form/sales/questions/savings_nk_spec.rb +++ b/spec/models/form/sales/questions/savings_nk_spec.rb @@ -5,7 +5,16 @@ RSpec.describe Form::Sales::Questions::SavingsNk, type: :model do let(:question_id) { nil } 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, 1)))) } + let(:page) { instance_double(Form::Page) } + let(:subsection) { instance_double(Form::Subsection) } + let(:form) { instance_double(Form) } + + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(true) + allow(form).to receive(:start_date).and_return(Time.zone.local(2023, 4, 1)) + allow(page).to receive(:subsection).and_return(subsection) + allow(subsection).to receive(:form).and_return(form) + end it "has correct page" do expect(question.page).to eq(page) @@ -23,6 +32,26 @@ RSpec.describe Form::Sales::Questions::SavingsNk, type: :model do expect(question.derived?(nil)).to be false end + context "when in 2025", { year: 25 } do + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(false) + end + + it "does not have a check_answers_card_title" do + expect(question.check_answers_card_title).to be_nil + end + end + + context "when in 2026", { year: 26 } do + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(true) + end + + it "has check_answers_card_title set to 'All buyers'" do + expect(question.check_answers_card_title).to eq("All buyers") + end + end + it "has the correct answer_options" do expect(question.answer_options).to eq({ "0" => { "value" => "Yes" }, diff --git a/spec/models/form/sales/questions/savings_spec.rb b/spec/models/form/sales/questions/savings_spec.rb index 792fd5d29..e16e80799 100644 --- a/spec/models/form/sales/questions/savings_spec.rb +++ b/spec/models/form/sales/questions/savings_spec.rb @@ -5,7 +5,16 @@ RSpec.describe Form::Sales::Questions::Savings, type: :model do let(:question_id) { nil } 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, 1)))) } + let(:page) { instance_double(Form::Page) } + let(:subsection) { instance_double(Form::Subsection) } + let(:form) { instance_double(Form) } + + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(true) + allow(form).to receive(:start_date).and_return(Time.zone.local(2023, 4, 1)) + allow(page).to receive(:subsection).and_return(subsection) + allow(subsection).to receive(:form).and_return(form) + end it "has correct page" do expect(question.page).to eq(page) @@ -23,6 +32,26 @@ RSpec.describe Form::Sales::Questions::Savings, type: :model do expect(question.derived?(nil)).to be false end + context "when in 2025", { year: 25 } do + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(false) + end + + it "does not have a check_answers_card_title" do + expect(question.check_answers_card_title).to be_nil + end + end + + context "when in 2026", { year: 26 } do + before do + allow(form).to receive(:start_year_2026_or_later?).and_return(true) + end + + it "has check_answers_card_title set to 'All buyers'" do + expect(question.check_answers_card_title).to eq("All buyers") + end + end + it "has the correct width" do expect(question.width).to eq(5) end