From 86ee25bcfdc207bb4ee5256ece96a10c1e29d415 Mon Sep 17 00:00:00 2001 From: Kat <54268893+kosiakkatrina@users.noreply.github.com> Date: Thu, 14 Nov 2024 10:30:22 +0000 Subject: [PATCH] Display correct subsection based on year --- .../form/sales/sections/sale_information.rb | 10 ++++++- .../subsections/shared_ownership_scheme.rb | 2 +- .../sales/sections/sale_information_spec.rb | 28 ++++++++++++++----- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/app/models/form/sales/sections/sale_information.rb b/app/models/form/sales/sections/sale_information.rb index b57eb70a6..22dbbef5a 100644 --- a/app/models/form/sales/sections/sale_information.rb +++ b/app/models/form/sales/sections/sale_information.rb @@ -5,9 +5,17 @@ class Form::Sales::Sections::SaleInformation < ::Form::Section @label = "Sale information" @description = "" @subsections = [ - Form::Sales::Subsections::SharedOwnershipScheme.new(nil, nil, self), + shared_ownership_scheme_subsection, Form::Sales::Subsections::DiscountedOwnershipScheme.new(nil, nil, self), Form::Sales::Subsections::OutrightSale.new(nil, nil, self), ] || [] end + + def shared_ownership_scheme_subsection + if form.start_year_2025_or_later? + Form::Sales::Subsections::SharedOwnershipInitialPurchase.new(nil, nil, self) + else + Form::Sales::Subsections::SharedOwnershipScheme.new(nil, nil, self) + end + end end diff --git a/app/models/form/sales/subsections/shared_ownership_scheme.rb b/app/models/form/sales/subsections/shared_ownership_scheme.rb index f5d52153e..20a088eae 100644 --- a/app/models/form/sales/subsections/shared_ownership_scheme.rb +++ b/app/models/form/sales/subsections/shared_ownership_scheme.rb @@ -11,7 +11,7 @@ class Form::Sales::Subsections::SharedOwnershipScheme < ::Form::Subsection @pages ||= [ Form::Sales::Pages::LivingBeforePurchase.new("living_before_purchase_shared_ownership_joint_purchase", nil, self, ownershipsch: 1, joint_purchase: true), Form::Sales::Pages::LivingBeforePurchase.new("living_before_purchase_shared_ownership", nil, self, ownershipsch: 1, joint_purchase: false), - (Form::Sales::Pages::Staircase.new(nil, nil, self) unless form.start_year_2025_or_later?), + Form::Sales::Pages::Staircase.new(nil, nil, self), Form::Sales::Pages::AboutStaircase.new("about_staircasing_joint_purchase", nil, self, joint_purchase: true), Form::Sales::Pages::AboutStaircase.new("about_staircasing_not_joint_purchase", nil, self, joint_purchase: false), Form::Sales::Pages::StaircaseBoughtValueCheck.new(nil, nil, self), diff --git a/spec/models/form/sales/sections/sale_information_spec.rb b/spec/models/form/sales/sections/sale_information_spec.rb index 0b2ab4144..8167c92a3 100644 --- a/spec/models/form/sales/sections/sale_information_spec.rb +++ b/spec/models/form/sales/sections/sale_information_spec.rb @@ -5,18 +5,32 @@ RSpec.describe Form::Sales::Sections::SaleInformation, type: :model do let(:section_id) { nil } let(:section_definition) { nil } - let(:form) { instance_double(Form) } + let(:form) { instance_double(Form, start_year_2025_or_later?: false) } it "has correct form" do expect(sale_information.form).to eq(form) end - it "has correct subsections" do - expect(sale_information.subsections.map(&:id)).to eq(%w[ - shared_ownership_scheme - discounted_ownership_scheme - outright_sale - ]) + context "when form is before 2025" do + it "has correct subsections" do + expect(sale_information.subsections.map(&:id)).to eq(%w[ + shared_ownership_scheme + discounted_ownership_scheme + outright_sale + ]) + end + end + + context "when form is 2025 or later" do + let(:form) { instance_double(Form, start_year_2025_or_later?: true) } + + it "has correct subsections" do + expect(sale_information.subsections.map(&:id)).to eq(%w[ + shared_ownership_initial_purchase + discounted_ownership_scheme + outright_sale + ]) + end end it "has the correct id" do