diff --git a/app/models/log.rb b/app/models/log.rb index bcbea9c92..4471e38eb 100644 --- a/app/models/log.rb +++ b/app/models/log.rb @@ -110,7 +110,7 @@ class Log < ApplicationRecord self.address_line2 = nil self.town_or_city = nil self.county = nil - self.postcode_full = postcode_full_input + self.postcode_full = postcode_full_input if postcode_full_input.match(POSTCODE_REGEXP) process_postcode_changes! else self.uprn = uprn_selection diff --git a/spec/features/lettings_log_spec.rb b/spec/features/lettings_log_spec.rb index b10dfc6e5..525dee9ff 100644 --- a/spec/features/lettings_log_spec.rb +++ b/spec/features/lettings_log_spec.rb @@ -1018,6 +1018,33 @@ RSpec.describe "Lettings Log Features" do end end + context "and the user selects 'address_not_listed' when partial postcode is entered" do + before do + fill_in("lettings_log[address_line1_input]", with: "Address line 1") + fill_in("lettings_log[postcode_full_input]", with: "AA1") + click_button("Search") + choose "The address is not listed, I want to enter the address manually" + click_button("Save and continue") + end + + it "sets correct address fields" do + lettings_log.reload + expect(lettings_log.uprn_known).to eq(0) # no + expect(lettings_log.uprn).to eq(nil) + expect(lettings_log.uprn_confirmed).to eq(nil) + expect(lettings_log.uprn_selection).to eq("uprn_not_listed") + expect(lettings_log.postcode_known).to eq(nil) + expect(lettings_log.postcode_full).to eq(nil) + expect(lettings_log.address_line1).to eq("Address line 1") + expect(lettings_log.address_line2).to eq(nil) + expect(lettings_log.town_or_city).to eq(nil) + expect(lettings_log.address_line1_input).to eq("Address line 1") + expect(lettings_log.postcode_full_input).to eq("AA1") + expect(lettings_log.address_search_value_check).to eq(nil) + expect(lettings_log.la).to eq(nil) + end + end + context "and the user selects 'address_not_listed' and then changes their mind and selects an address" do before do fill_in("lettings_log[address_line1_input]", with: "Address line 1") diff --git a/spec/features/sales_log_spec.rb b/spec/features/sales_log_spec.rb index d418bcb37..663a4f7ac 100644 --- a/spec/features/sales_log_spec.rb +++ b/spec/features/sales_log_spec.rb @@ -599,6 +599,33 @@ RSpec.describe "Sales Log Features" do end end + context "and the user selects 'address_not_listed' when partial postcode is given" do + before do + fill_in("sales_log[address_line1_input]", with: "Address line 1") + fill_in("sales_log[postcode_full_input]", with: "1AA") + click_button("Search") + choose "The address is not listed, I want to enter the address manually" + click_button("Save and continue") + end + + it "sets correct address fields" do + sales_log.reload + expect(sales_log.uprn_known).to eq(0) # no + expect(sales_log.uprn).to eq(nil) + expect(sales_log.uprn_confirmed).to eq(nil) + expect(sales_log.uprn_selection).to eq("uprn_not_listed") + expect(sales_log.pcodenk).to eq(nil) + expect(sales_log.postcode_full).to eq(nil) + expect(sales_log.address_line1).to eq("Address line 1") + expect(sales_log.address_line2).to eq(nil) + expect(sales_log.town_or_city).to eq(nil) + expect(sales_log.address_line1_input).to eq("Address line 1") + expect(sales_log.postcode_full_input).to eq("1AA") + expect(sales_log.address_search_value_check).to eq(nil) + expect(sales_log.la).to eq(nil) + end + end + context "and the user selects 'address_not_listed' and then changes their mind and selects an address" do before do fill_in("sales_log[address_line1_input]", with: "Address line 1")