From 2b965e152e74e50bc62ab428cf73a2077c5956e0 Mon Sep 17 00:00:00 2001 From: Arthur Campbell Date: Mon, 27 Feb 2023 17:14:57 +0000 Subject: [PATCH] make new pages only visible for new collection year, rename filesamend tests --- ...yer_2_living_in.rb => buyer2_living_in.rb} | 0 ...b => buyer2_previous_housing_situation.rb} | 0 ...yer_2_living_in.rb => buyer2_living_in.rb} | 0 ...e_buyer_2.rb => previous_tenure_buyer2.rb} | 0 .../sales/subsections/household_situation.rb | 14 ++++-- ...20230224083552_add_columns_to_sales_log.rb | 6 ++- .../pages/buyer2_live_in_property_spec.rb | 6 +-- ...ng_in_spec.rb => buyer2_living_in_spec.rb} | 0 ...buyer2_previous_housing_situation_spec.rb} | 0 ...ng_in_spec.rb => buyer2_living_in_spec.rb} | 0 ...spec.rb => previous_tenure_buyer2_spec.rb} | 0 .../subsections/household_situation_spec.rb | 47 +++++++++++++------ 12 files changed, 50 insertions(+), 23 deletions(-) rename app/models/form/sales/pages/{buyer_2_living_in.rb => buyer2_living_in.rb} (100%) rename app/models/form/sales/pages/{buyer_2_previous_housing_situation.rb => buyer2_previous_housing_situation.rb} (100%) rename app/models/form/sales/questions/{buyer_2_living_in.rb => buyer2_living_in.rb} (100%) rename app/models/form/sales/questions/{previous_tenure_buyer_2.rb => previous_tenure_buyer2.rb} (100%) rename spec/models/form/sales/pages/{buyer_2_living_in_spec.rb => buyer2_living_in_spec.rb} (100%) rename spec/models/form/sales/pages/{buyer_2_previous_housing_situation_spec.rb => buyer2_previous_housing_situation_spec.rb} (100%) rename spec/models/form/sales/questions/{buyer_2_living_in_spec.rb => buyer2_living_in_spec.rb} (100%) rename spec/models/form/sales/questions/{previous_tenure_buyer_2_spec.rb => previous_tenure_buyer2_spec.rb} (100%) diff --git a/app/models/form/sales/pages/buyer_2_living_in.rb b/app/models/form/sales/pages/buyer2_living_in.rb similarity index 100% rename from app/models/form/sales/pages/buyer_2_living_in.rb rename to app/models/form/sales/pages/buyer2_living_in.rb diff --git a/app/models/form/sales/pages/buyer_2_previous_housing_situation.rb b/app/models/form/sales/pages/buyer2_previous_housing_situation.rb similarity index 100% rename from app/models/form/sales/pages/buyer_2_previous_housing_situation.rb rename to app/models/form/sales/pages/buyer2_previous_housing_situation.rb diff --git a/app/models/form/sales/questions/buyer_2_living_in.rb b/app/models/form/sales/questions/buyer2_living_in.rb similarity index 100% rename from app/models/form/sales/questions/buyer_2_living_in.rb rename to app/models/form/sales/questions/buyer2_living_in.rb diff --git a/app/models/form/sales/questions/previous_tenure_buyer_2.rb b/app/models/form/sales/questions/previous_tenure_buyer2.rb similarity index 100% rename from app/models/form/sales/questions/previous_tenure_buyer_2.rb rename to app/models/form/sales/questions/previous_tenure_buyer2.rb diff --git a/app/models/form/sales/subsections/household_situation.rb b/app/models/form/sales/subsections/household_situation.rb index 95f2c4327..225b1ae43 100644 --- a/app/models/form/sales/subsections/household_situation.rb +++ b/app/models/form/sales/subsections/household_situation.rb @@ -12,8 +12,16 @@ class Form::Sales::Subsections::HouseholdSituation < ::Form::Subsection Form::Sales::Pages::LastAccommodation.new(nil, nil, self), Form::Sales::Pages::LastAccommodationLa.new(nil, nil, self), Form::Sales::Pages::BuyersOrganisations.new(nil, nil, self), - Form::Sales::Pages::Buyer2LivingIn.new(nil, nil, self), - Form::Sales::Pages::Buyer2PreviousHousingSituation.new(nil, nil, self), - ] + buyer_2_situation_pages, + ].flatten.compact + end + + def buyer_2_situation_pages + if form.start_date.year >= 2023 + [ + Form::Sales::Pages::Buyer2LivingIn.new(nil, nil, self), + Form::Sales::Pages::Buyer2PreviousHousingSituation.new(nil, nil, self), + ] + end end end diff --git a/db/migrate/20230224083552_add_columns_to_sales_log.rb b/db/migrate/20230224083552_add_columns_to_sales_log.rb index 76fb92f69..f4fbc91df 100644 --- a/db/migrate/20230224083552_add_columns_to_sales_log.rb +++ b/db/migrate/20230224083552_add_columns_to_sales_log.rb @@ -1,6 +1,8 @@ class AddColumnsToSalesLog < ActiveRecord::Migration[7.0] def change - add_column :sales_logs, :buy2living, :integer - add_column :sales_logs, :prevtenbuy2, :integer + change_table :sales_logs, bulk: true do |t| + t.column :buy2living, :integer + t.column :prevtenbuy2, :integer + end end end diff --git a/spec/models/form/sales/pages/buyer2_live_in_property_spec.rb b/spec/models/form/sales/pages/buyer2_live_in_property_spec.rb index 258e37462..555e78927 100644 --- a/spec/models/form/sales/pages/buyer2_live_in_property_spec.rb +++ b/spec/models/form/sales/pages/buyer2_live_in_property_spec.rb @@ -30,12 +30,12 @@ RSpec.describe Form::Sales::Pages::Buyer2LiveInProperty, type: :model do it "has correct depends_on" do expect(page.depends_on).to eq([ { - "jointpur" => 1, + "joint_purchase?" => true, "privacynotice" => 1, }, { - "jointpur" => 1, - "noint" => 1, + "joint_purchase?" => true, + "buyer_not_interviewed?" => true, }, ]) end diff --git a/spec/models/form/sales/pages/buyer_2_living_in_spec.rb b/spec/models/form/sales/pages/buyer2_living_in_spec.rb similarity index 100% rename from spec/models/form/sales/pages/buyer_2_living_in_spec.rb rename to spec/models/form/sales/pages/buyer2_living_in_spec.rb diff --git a/spec/models/form/sales/pages/buyer_2_previous_housing_situation_spec.rb b/spec/models/form/sales/pages/buyer2_previous_housing_situation_spec.rb similarity index 100% rename from spec/models/form/sales/pages/buyer_2_previous_housing_situation_spec.rb rename to spec/models/form/sales/pages/buyer2_previous_housing_situation_spec.rb diff --git a/spec/models/form/sales/questions/buyer_2_living_in_spec.rb b/spec/models/form/sales/questions/buyer2_living_in_spec.rb similarity index 100% rename from spec/models/form/sales/questions/buyer_2_living_in_spec.rb rename to spec/models/form/sales/questions/buyer2_living_in_spec.rb diff --git a/spec/models/form/sales/questions/previous_tenure_buyer_2_spec.rb b/spec/models/form/sales/questions/previous_tenure_buyer2_spec.rb similarity index 100% rename from spec/models/form/sales/questions/previous_tenure_buyer_2_spec.rb rename to spec/models/form/sales/questions/previous_tenure_buyer2_spec.rb diff --git a/spec/models/form/sales/subsections/household_situation_spec.rb b/spec/models/form/sales/subsections/household_situation_spec.rb index a468d0951..10898b27c 100644 --- a/spec/models/form/sales/subsections/household_situation_spec.rb +++ b/spec/models/form/sales/subsections/household_situation_spec.rb @@ -1,27 +1,44 @@ require "rails_helper" RSpec.describe Form::Sales::Subsections::HouseholdSituation, type: :model do - subject(:household_characteristics) { described_class.new(subsection_id, subsection_definition, section) } + subject(:household_characteristics) { described_class.new(nil, nil, section) } - let(:subsection_id) { nil } - let(:subsection_definition) { nil } - let(:section) { instance_double(Form::Sales::Sections::Household) } + let(:start_date) { Time.utc(2023, 4, 1) } + let(:form) { instance_double(Form, start_date:) } + let(:section) { instance_double(Form::Sales::Sections::Household, form:) } it "has correct section" do expect(household_characteristics.section).to eq(section) end - it "has correct pages" do - expect(household_characteristics.pages.map(&:id)).to eq( - %w[ - buyer1_previous_tenure - last_accommodation - last_accommodation_la - buyers_organisations - buyer_2_living_in - buyer_2_previous_housing_situation - ], - ) + context "when the log belongs to the 22/23 collection" do + let(:start_date) { Time.utc(2022, 4, 1) } + + it "has correct pages" do + expect(household_characteristics.pages.map(&:id)).to eq( + %w[ + buyer1_previous_tenure + last_accommodation + last_accommodation_la + buyers_organisations + ], + ) + end + end + + context "when the log belongs to the 23/24 collection" do + it "has correct pages" do + expect(household_characteristics.pages.map(&:id)).to eq( + %w[ + buyer1_previous_tenure + last_accommodation + last_accommodation_la + buyers_organisations + buyer_2_living_in + buyer_2_previous_housing_situation + ], + ) + end end it "has the correct id" do