From 1805ff15d656dc6d0193bbfa7b45825791375401 Mon Sep 17 00:00:00 2001 From: Nat Dean-Lewis Date: Fri, 11 Sep 2026 12:26:59 +0100 Subject: [PATCH] CLDC-4462: test all fields --- .../clear_confidential_address_data_spec.rb | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/spec/lib/tasks/clear_confidential_address_data_spec.rb b/spec/lib/tasks/clear_confidential_address_data_spec.rb index 56efa77d9..0576365a6 100644 --- a/spec/lib/tasks/clear_confidential_address_data_spec.rb +++ b/spec/lib/tasks/clear_confidential_address_data_spec.rb @@ -16,6 +16,31 @@ RSpec.describe "clear_confidential_address_data" do let(:non_confidential_scheme) { create(:scheme, sensitive: "No", owning_organisation:) } let(:location) { create(:location, scheme:) } + let(:cleared_fields) do + %w[ + uprn + uprn_known + uprn_confirmed + uprn_selection + address_line1 + address_line2 + town_or_city + county + postcode_full + postcode_known + address_line1_input + postcode_full_input + address_line1_as_entered + address_line2_as_entered + town_or_city_as_entered + county_as_entered + postcode_full_as_entered + la_as_entered + address_search_value_check + la + ] + end + def create_log_with_address_data(scheme:, location:, startdate:) log = create( :lettings_log, @@ -32,9 +57,24 @@ RSpec.describe "clear_confidential_address_data" do # address/UPRN data collected before the confidential address feature existed. log.update_columns( uprn: "123456789012", + uprn_known: 1, + uprn_confirmed: 1, + uprn_selection: "123456789012", address_line1: "1 Secret Street", + address_line2: "Flat 2", town_or_city: "Secretville", + county: "Secretshire", + postcode_full: "SW1A 1AA", postcode_known: 1, + address_line1_input: "1 Secret Street", + postcode_full_input: "SW1A1AA", + address_line1_as_entered: "1 Secret Street", + address_line2_as_entered: "Flat 2", + town_or_city_as_entered: "Secretville", + county_as_entered: "Secretshire", + postcode_full_as_entered: "SW1A 1AA", + la_as_entered: "E09000003", + address_search_value_check: 1, la: "E09000003", ) log @@ -53,6 +93,15 @@ RSpec.describe "clear_confidential_address_data" do expect(log.postcode_known).to be_nil end + it "clears every field the task targets" do + task.invoke + log.reload + + cleared_fields.each do |field| + expect(log[field]).to be_nil, "expected #{field} to be nil but was #{log[field].inspect}" + end + end + it "keeps the log's status unchanged when the location's LA can be inferred" do task.invoke expect(log.reload.status).to eq("completed")