From 6bccc2676e25595e6346e4ae2f29390dc4a61739 Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Fri, 17 Apr 2026 16:08:45 +0100 Subject: [PATCH] CLDC-4435: Always show LA question if it can't be derived (#3314) * CLDC-4435: Always show LA question if it can't be derived * CLDC-4435: Update tests * fixup! CLDC-4435: Update tests clean up sales prop la spec --- .../pages/property_local_authority.rb | 4 +- .../sales/pages/property_local_authority.rb | 4 +- .../pages/property_local_authority_spec.rb | 72 +++++-------------- .../pages/property_local_authority_spec.rb | 61 +++------------- spec/requests/check_errors_controller_spec.rb | 2 +- 5 files changed, 32 insertions(+), 111 deletions(-) diff --git a/app/models/form/lettings/pages/property_local_authority.rb b/app/models/form/lettings/pages/property_local_authority.rb index 339ccb4d8..5656ec2d9 100644 --- a/app/models/form/lettings/pages/property_local_authority.rb +++ b/app/models/form/lettings/pages/property_local_authority.rb @@ -3,8 +3,8 @@ class Form::Lettings::Pages::PropertyLocalAuthority < ::Form::Page super @id = "property_local_authority" @depends_on = [ - { "is_la_inferred" => false, "is_general_needs?" => true, "form.start_year_2024_or_later?" => false }, - { "is_la_inferred" => false, "is_general_needs?" => true, "form.start_year_2024_or_later?" => true, "address_search_given?" => true }, + { "is_la_inferred" => false, "is_general_needs?" => true, "form.start_year_2025_or_later?" => false, "address_search_given?" => true }, + { "is_la_inferred" => false, "is_general_needs?" => true, "form.start_year_2025_or_later?" => true }, ] end diff --git a/app/models/form/sales/pages/property_local_authority.rb b/app/models/form/sales/pages/property_local_authority.rb index fe9ad1bc0..cd1d898e2 100644 --- a/app/models/form/sales/pages/property_local_authority.rb +++ b/app/models/form/sales/pages/property_local_authority.rb @@ -3,8 +3,8 @@ class Form::Sales::Pages::PropertyLocalAuthority < ::Form::Page super @id = "property_local_authority" @depends_on = [ - { "is_la_inferred" => false, "form.start_year_2024_or_later?" => false }, - { "is_la_inferred" => false, "form.start_year_2024_or_later?" => true, "address_search_given?" => true }, + { "is_la_inferred" => false, "form.start_year_2025_or_later?" => false, "address_search_given?" => true }, + { "is_la_inferred" => false, "form.start_year_2025_or_later?" => true }, ] end diff --git a/spec/models/form/lettings/pages/property_local_authority_spec.rb b/spec/models/form/lettings/pages/property_local_authority_spec.rb index 75d680ddd..5e29424e3 100644 --- a/spec/models/form/lettings/pages/property_local_authority_spec.rb +++ b/spec/models/form/lettings/pages/property_local_authority_spec.rb @@ -35,66 +35,26 @@ RSpec.describe Form::Lettings::Pages::PropertyLocalAuthority, type: :model do context "when routing to the page" do let(:log) { build(:lettings_log) } - context "with form before 2024" do - before do - allow(form).to receive(:start_year_2024_or_later?).and_return(false) - end - - it "is routed to when la is not inferred and it is general needs log" do - log.needstype = 1 - log.is_la_inferred = false - expect(page).to be_routed_to(log, nil) - end - - it "is not routed to when la is inferred" do - log.needstype = 1 - log.is_la_inferred = true - expect(page).not_to be_routed_to(log, nil) - end - - it "is not routed to when it's a supported housing log" do - log.needstype = 2 - log.is_la_inferred = false - expect(page).not_to be_routed_to(log, nil) - end + before do + allow(form).to receive(:start_year_2025_or_later?).and_return(true) end - context "with form after 2024" do - before do - allow(form).to receive(:start_year_2024_or_later?).and_return(true) - end - - it "is routed to when la is not inferred, it is general needs log and address search has been given" do - log.needstype = 1 - log.is_la_inferred = false - log.address_line1_input = "1" - log.postcode_full_input = "A11AA" - expect(page).to be_routed_to(log, nil) - end - - it "is not routed to when la is inferred" do - log.needstype = 1 - log.is_la_inferred = true - log.address_line1_input = "1" - log.postcode_full_input = "A11AA" - expect(page).not_to be_routed_to(log, nil) - end + it "is routed to when la is not inferred and it is general needs log" do + log.needstype = 1 + log.is_la_inferred = false + expect(page).to be_routed_to(log, nil) + end - it "is not routed to when it's a supported housing log" do - log.needstype = 2 - log.is_la_inferred = false - log.address_line1_input = "1" - log.postcode_full_input = "A11AA" - expect(page).not_to be_routed_to(log, nil) - end + it "is not routed to when la is inferred" do + log.needstype = 1 + log.is_la_inferred = true + expect(page).not_to be_routed_to(log, nil) + end - it "is not routed to when address search is not given" do - log.needstype = 1 - log.is_la_inferred = false - log.address_line1_input = nil - log.postcode_full_input = "A11AA" - expect(page).not_to be_routed_to(log, nil) - end + it "is not routed to when it's a supported housing log" do + log.needstype = 2 + log.is_la_inferred = false + expect(page).not_to be_routed_to(log, nil) end end end diff --git a/spec/models/form/sales/pages/property_local_authority_spec.rb b/spec/models/form/sales/pages/property_local_authority_spec.rb index 88d049bce..579b3d48a 100644 --- a/spec/models/form/sales/pages/property_local_authority_spec.rb +++ b/spec/models/form/sales/pages/property_local_authority_spec.rb @@ -17,18 +17,8 @@ RSpec.describe Form::Sales::Pages::PropertyLocalAuthority, type: :model do expect(page.subsection).to eq(subsection) end - describe "has correct questions" do - context "when 2023" do - let(:start_date) { Time.utc(2023, 2, 8) } - - it "has correct questions" do - expect(page.questions.map(&:id)).to eq( - %w[ - la - ], - ) - end - end + it "has correct questions" do + expect(page.questions.map(&:id)).to eq(%w[la]) end it "has the correct id" do @@ -42,47 +32,18 @@ RSpec.describe Form::Sales::Pages::PropertyLocalAuthority, type: :model do context "when routing to the page" do let(:log) { build(:sales_log) } - context "with form before 2024" do - before do - allow(form).to receive(:start_year_2024_or_later?).and_return(false) - end - - it "is routed to when la is not inferred" do - log.is_la_inferred = false - expect(page).to be_routed_to(log, nil) - end - - it "is not routed to when la is inferred" do - log.is_la_inferred = true - expect(page).not_to be_routed_to(log, nil) - end + before do + allow(form).to receive(:start_year_2025_or_later?).and_return(true) end - context "with form after 2024" do - before do - allow(form).to receive(:start_year_2024_or_later?).and_return(true) - end - - it "is routed to when la is not inferred and address search has been given" do - log.is_la_inferred = false - log.address_line1_input = "1" - log.postcode_full_input = "A11AA" - expect(page).to be_routed_to(log, nil) - end - - it "is not routed to when la is inferred" do - log.is_la_inferred = true - log.address_line1_input = "1" - log.postcode_full_input = "A11AA" - expect(page).not_to be_routed_to(log, nil) - end + it "is routed to when la is not inferred" do + log.is_la_inferred = false + expect(page).to be_routed_to(log, nil) + end - it "is not routed to when address search is not given" do - log.is_la_inferred = false - log.address_line1_input = nil - log.postcode_full_input = "A11AA" - expect(page).not_to be_routed_to(log, nil) - end + it "is not routed to when la is inferred" do + log.is_la_inferred = true + expect(page).not_to be_routed_to(log, nil) end end end diff --git a/spec/requests/check_errors_controller_spec.rb b/spec/requests/check_errors_controller_spec.rb index 017879d89..168931d71 100644 --- a/spec/requests/check_errors_controller_spec.rb +++ b/spec/requests/check_errors_controller_spec.rb @@ -84,7 +84,7 @@ RSpec.describe CheckErrorsController, type: :request do end it "displays correct clear and change links" do - expect(page.all(:button, value: "Clear").count).to eq(1) + expect(page.all(:button, value: "Clear").count).to eq(2) expect(page).to have_link("Change", count: 1) expect(page).to have_button("Clear all") end