Browse Source

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
main
Samuel Young 4 days ago committed by GitHub
parent
commit
6bccc2676e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 4
      app/models/form/lettings/pages/property_local_authority.rb
  2. 4
      app/models/form/sales/pages/property_local_authority.rb
  3. 42
      spec/models/form/lettings/pages/property_local_authority_spec.rb
  4. 43
      spec/models/form/sales/pages/property_local_authority_spec.rb
  5. 2
      spec/requests/check_errors_controller_spec.rb

4
app/models/form/lettings/pages/property_local_authority.rb

@ -3,8 +3,8 @@ class Form::Lettings::Pages::PropertyLocalAuthority < ::Form::Page
super super
@id = "property_local_authority" @id = "property_local_authority"
@depends_on = [ @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_2025_or_later?" => false, "address_search_given?" => true },
{ "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?" => true },
] ]
end end

4
app/models/form/sales/pages/property_local_authority.rb

@ -3,8 +3,8 @@ class Form::Sales::Pages::PropertyLocalAuthority < ::Form::Page
super super
@id = "property_local_authority" @id = "property_local_authority"
@depends_on = [ @depends_on = [
{ "is_la_inferred" => false, "form.start_year_2024_or_later?" => false }, { "is_la_inferred" => false, "form.start_year_2025_or_later?" => false, "address_search_given?" => true },
{ "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?" => true },
] ]
end end

42
spec/models/form/lettings/pages/property_local_authority_spec.rb

@ -35,9 +35,8 @@ RSpec.describe Form::Lettings::Pages::PropertyLocalAuthority, type: :model do
context "when routing to the page" do context "when routing to the page" do
let(:log) { build(:lettings_log) } let(:log) { build(:lettings_log) }
context "with form before 2024" do
before do before do
allow(form).to receive(:start_year_2024_or_later?).and_return(false) allow(form).to receive(:start_year_2025_or_later?).and_return(true)
end end
it "is routed to when la is not inferred and it is general needs log" do it "is routed to when la is not inferred and it is general needs log" do
@ -58,43 +57,4 @@ RSpec.describe Form::Lettings::Pages::PropertyLocalAuthority, type: :model do
expect(page).not_to be_routed_to(log, nil) expect(page).not_to be_routed_to(log, nil)
end end
end 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 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 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
end
end
end end

43
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) expect(page.subsection).to eq(subsection)
end end
describe "has correct questions" do
context "when 2023" do
let(:start_date) { Time.utc(2023, 2, 8) }
it "has correct questions" do it "has correct questions" do
expect(page.questions.map(&:id)).to eq( expect(page.questions.map(&:id)).to eq(%w[la])
%w[
la
],
)
end
end
end end
it "has the correct id" do it "has the correct id" do
@ -42,9 +32,8 @@ RSpec.describe Form::Sales::Pages::PropertyLocalAuthority, type: :model do
context "when routing to the page" do context "when routing to the page" do
let(:log) { build(:sales_log) } let(:log) { build(:sales_log) }
context "with form before 2024" do
before do before do
allow(form).to receive(:start_year_2024_or_later?).and_return(false) allow(form).to receive(:start_year_2025_or_later?).and_return(true)
end end
it "is routed to when la is not inferred" do it "is routed to when la is not inferred" do
@ -57,32 +46,4 @@ RSpec.describe Form::Sales::Pages::PropertyLocalAuthority, type: :model do
expect(page).not_to be_routed_to(log, nil) expect(page).not_to be_routed_to(log, nil)
end end
end 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 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
end
end
end end

2
spec/requests/check_errors_controller_spec.rb

@ -84,7 +84,7 @@ RSpec.describe CheckErrorsController, type: :request do
end end
it "displays correct clear and change links" do 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_link("Change", count: 1)
expect(page).to have_button("Clear all") expect(page).to have_button("Clear all")
end end

Loading…
Cancel
Save