From 321aa1eaf8b83cbd515245e63fdb754dd2b42ace Mon Sep 17 00:00:00 2001 From: Kat <54268893+kosiakkatrina@users.noreply.github.com> Date: Tue, 7 Jan 2025 11:27:41 +0000 Subject: [PATCH] Remove carehome questions for 2025 --- .../subsections/income_and_benefits.rb | 22 +++-- .../subsections/income_and_benefits_spec.rb | 93 +++++++++++++------ 2 files changed, 81 insertions(+), 34 deletions(-) diff --git a/app/models/form/lettings/subsections/income_and_benefits.rb b/app/models/form/lettings/subsections/income_and_benefits.rb index 2be2fb9a5..4ad3003cb 100644 --- a/app/models/form/lettings/subsections/income_and_benefits.rb +++ b/app/models/form/lettings/subsections/income_and_benefits.rb @@ -15,11 +15,7 @@ class Form::Lettings::Subsections::IncomeAndBenefits < ::Form::Subsection Form::Lettings::Pages::BenefitsProportion.new("benefits_proportion", nil, self), Form::Lettings::Pages::RentOrOtherCharges.new(nil, nil, self), Form::Lettings::Pages::RentPeriod.new(nil, nil, self), - Form::Lettings::Pages::CareHomeWeekly.new(nil, nil, self), - Form::Lettings::Pages::CareHomeBiWeekly.new(nil, nil, self), - Form::Lettings::Pages::CareHome4Weekly.new(nil, nil, self), - Form::Lettings::Pages::CareHomeMonthly.new(nil, nil, self), - Form::Lettings::Pages::CareHomeChargesValueCheck.new(nil, nil, self), + carehome_questions, Form::Lettings::Pages::RentWeekly.new(nil, nil, self), Form::Lettings::Pages::RentBiWeekly.new(nil, nil, self), Form::Lettings::Pages::Rent4Weekly.new(nil, nil, self), @@ -30,6 +26,20 @@ class Form::Lettings::Subsections::IncomeAndBenefits < ::Form::Subsection Form::Lettings::Pages::SupchargValueCheck.new(nil, nil, self), Form::Lettings::Pages::Outstanding.new(nil, nil, self), Form::Lettings::Pages::OutstandingAmount.new(nil, nil, self), - ].compact + ].flatten.compact + end + +private + + def carehome_questions + return [] if form.start_year_2025_or_later? + + [ + Form::Lettings::Pages::CareHomeWeekly.new(nil, nil, self), + Form::Lettings::Pages::CareHomeBiWeekly.new(nil, nil, self), + Form::Lettings::Pages::CareHome4Weekly.new(nil, nil, self), + Form::Lettings::Pages::CareHomeMonthly.new(nil, nil, self), + Form::Lettings::Pages::CareHomeChargesValueCheck.new(nil, nil, self), + ] end end diff --git a/spec/models/form/lettings/subsections/income_and_benefits_spec.rb b/spec/models/form/lettings/subsections/income_and_benefits_spec.rb index 7bdc26bfa..9d78b3216 100644 --- a/spec/models/form/lettings/subsections/income_and_benefits_spec.rb +++ b/spec/models/form/lettings/subsections/income_and_benefits_spec.rb @@ -5,40 +5,77 @@ RSpec.describe Form::Lettings::Subsections::IncomeAndBenefits, type: :model do let(:subsection_id) { nil } let(:subsection_definition) { nil } - let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1)) } + let(:start_date) { Time.zone.local(2024, 4, 1) } + let(:start_year_2025_or_later) { false } + let(:form) { instance_double(Form, start_date:) } let(:section) { instance_double(Form::Lettings::Sections::RentAndCharges, form:) } + before do + allow(form).to receive(:start_year_2025_or_later?).and_return(start_year_2025_or_later) + end + it "has correct section" do expect(income_and_benefits.section).to eq(section) end - it "has correct pages" do - expect(income_and_benefits.pages.map(&:id)).to eq( - %w[ - income_known - income_amount - net_income_value_check - housing_benefit - benefits_proportion - rent_or_other_charges - rent_period - care_home_weekly - care_home_bi_weekly - care_home_4_weekly - care_home_monthly - care_home_charges_value_check - rent_weekly - rent_bi_weekly - rent_4_weekly - rent_monthly - brent_rent_value_check - scharge_value_check - pscharge_value_check - supcharg_value_check - outstanding - outstanding_amount - ], - ) + context "with 2024 form" do + it "has correct pages" do + expect(income_and_benefits.pages.map(&:id)).to eq( + %w[ + income_known + income_amount + net_income_value_check + housing_benefit + benefits_proportion + rent_or_other_charges + rent_period + care_home_weekly + care_home_bi_weekly + care_home_4_weekly + care_home_monthly + care_home_charges_value_check + rent_weekly + rent_bi_weekly + rent_4_weekly + rent_monthly + brent_rent_value_check + scharge_value_check + pscharge_value_check + supcharg_value_check + outstanding + outstanding_amount + ], + ) + end + end + + context "with 2025 form" do + let(:start_date) { Time.zone.local(2025, 4, 1) } + let(:start_year_2025_or_later) { true } + + it "has correct pages" do + expect(income_and_benefits.pages.map(&:id)).to eq( + %w[ + income_known + income_amount + net_income_value_check + housing_benefit + benefits_proportion + rent_or_other_charges + rent_period + rent_weekly + rent_bi_weekly + rent_4_weekly + rent_monthly + brent_rent_value_check + scharge_value_check + pscharge_value_check + supcharg_value_check + outstanding + outstanding_amount + ], + ) + end end it "has the correct id" do