From b8259c68fc1b4ffeb7bf39a4b0888b5f457fcc18 Mon Sep 17 00:00:00 2001 From: natdeanlewissoftwire Date: Mon, 4 Mar 2024 12:00:32 +0000 Subject: [PATCH] feat: migrate new fields to sales logs --- ...add_address_lookup_fields_to_sales_logs.rb | 7 ++++ db/schema.rb | 5 ++- spec/models/form/lettings/pages/uprn_spec.rb | 40 +++++++++++++++---- .../subsections/property_information_spec.rb | 2 + 4 files changed, 45 insertions(+), 9 deletions(-) create mode 100644 db/migrate/20240304115940_add_address_lookup_fields_to_sales_logs.rb diff --git a/db/migrate/20240304115940_add_address_lookup_fields_to_sales_logs.rb b/db/migrate/20240304115940_add_address_lookup_fields_to_sales_logs.rb new file mode 100644 index 000000000..69c654295 --- /dev/null +++ b/db/migrate/20240304115940_add_address_lookup_fields_to_sales_logs.rb @@ -0,0 +1,7 @@ +class AddAddressLookupFieldsToSalesLogs < ActiveRecord::Migration[7.0] + def change + add_column :sales_logs, :address_selection, :integer + add_column :sales_logs, :address_line1_input, :string + add_column :sales_logs, :postcode_full_input, :string + end +end diff --git a/db/schema.rb b/db/schema.rb index 3fae42050..b107b985e 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2024_03_04_103216) do +ActiveRecord::Schema[7.0].define(version: 2024_03_04_115940) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -664,6 +664,9 @@ ActiveRecord::Schema[7.0].define(version: 2024_03_04_103216) do t.integer "nationality_all_group" t.integer "nationality_all_buyer2" t.integer "nationality_all_buyer2_group" + t.integer "address_selection" + t.string "address_line1_input" + t.string "postcode_full_input" t.index ["bulk_upload_id"], name: "index_sales_logs_on_bulk_upload_id" t.index ["created_by_id"], name: "index_sales_logs_on_created_by_id" t.index ["managing_organisation_id"], name: "index_sales_logs_on_managing_organisation_id" diff --git a/spec/models/form/lettings/pages/uprn_spec.rb b/spec/models/form/lettings/pages/uprn_spec.rb index 009f7b392..5894bdbcd 100644 --- a/spec/models/form/lettings/pages/uprn_spec.rb +++ b/spec/models/form/lettings/pages/uprn_spec.rb @@ -6,6 +6,12 @@ RSpec.describe Form::Lettings::Pages::Uprn, type: :model do let(:page_id) { nil } let(:page_definition) { nil } let(:subsection) { instance_double(Form::Subsection) } + let(:form) { instance_double(Form) } + + before do + allow(form).to receive(:start_year_after_2024?).and_return(false) + allow(subsection).to receive(:form).and_return(form) + end it "has correct subsection" do expect(page.subsection).to eq(subsection) @@ -31,10 +37,6 @@ RSpec.describe Form::Lettings::Pages::Uprn, type: :model do expect(page.depends_on).to eq([{ "is_supported_housing?" => false }]) end - it "has correct skip_text" do - expect(page.skip_text).to eq("Enter address instead") - end - describe "has correct skip_href" do context "when log is nil" do it "is nil" do @@ -45,10 +47,32 @@ RSpec.describe Form::Lettings::Pages::Uprn, type: :model do context "when log is present" do let(:log) { create(:lettings_log) } - it "points to address page" do - expect(page.skip_href(log)).to eq( - "/lettings-logs/#{log.id}/address", - ) + context "with 2023/24 form" do + it "points to address page" do + expect(page.skip_href(log)).to eq( + "/lettings-logs/#{log.id}/address", + ) + end + + it "has correct skip_text" do + expect(page.skip_text).to eq("Enter address instead") + end + end + + context "with 2024/25 form" do + before do + allow(form).to receive(:start_year_after_2024?).and_return(true) + end + + it "points to address search page" do + expect(page.skip_href(log)).to eq( + "/lettings-logs/#{log.id}/address-matcher", + ) + end + + it "has correct skip_text" do + expect(page.skip_text).to eq("Search for address instead") + end end end end diff --git a/spec/models/form/lettings/subsections/property_information_spec.rb b/spec/models/form/lettings/subsections/property_information_spec.rb index 0471db588..fd1bb4ef6 100644 --- a/spec/models/form/lettings/subsections/property_information_spec.rb +++ b/spec/models/form/lettings/subsections/property_information_spec.rb @@ -91,6 +91,8 @@ RSpec.describe Form::Lettings::Subsections::PropertyInformation, type: :model do %w[ uprn uprn_confirmation + address_matcher + address_selection address property_local_authority local_authority_min_rent_value_check