Browse Source

Fix lettings log derived fields tests

CLDC-4159-address-uprn-for-supported-housing
oscar-richardson-softwire 4 days ago
parent
commit
76821a1410
  1. 79
      spec/models/lettings_log_derived_fields_spec.rb

79
spec/models/lettings_log_derived_fields_spec.rb

@ -1448,6 +1448,9 @@ RSpec.describe LettingsLog, type: :model do
end
describe "resetting address fields and LA" do
# log.read_attribute is used in these tests to read the underlying attribute (which is what
# is being reset) rather than the getter method, which may override the underlying attribute.
let(:uprn) { "123456789" }
let(:uprn_known) { 1 } # A value of 1 is necessary for this test as there is separate logic that resets `uprn` if `uprn_known` is 0.
let(:uprn_confirmed) { 1 } # A value of 1 is necessary for this test as there is separate logic that resets the address fields and LA if `uprn_confirmed` is 0 (and `uprn_known` is 1).
@ -1481,18 +1484,19 @@ RSpec.describe LettingsLog, type: :model do
it "does not reset the address fields" do
expect { log.set_derived_fields! }
.to not_change(log, :uprn)
.and not_change(log, :uprn_known)
.and not_change(log, :uprn_confirmed)
.and not_change(log, :address_line1)
.and not_change(log, :address_line2)
.and not_change(log, :town_or_city)
.and not_change(log, :county)
.and not_change(log, :postcode_full)
.to not_change { log.read_attribute(:uprn) }
.and not_change { log.read_attribute(:uprn_known) }
.and not_change { log.read_attribute(:uprn_confirmed) }
.and not_change { log.read_attribute(:address_line1) }
.and not_change { log.read_attribute(:address_line2) }
.and not_change { log.read_attribute(:town_or_city) }
.and not_change { log.read_attribute(:county) }
.and not_change { log.read_attribute(:postcode_full) }
end
it "does not reset LA" do
expect { log.set_derived_fields! }.to not_change(log, :la)
expect { log.set_derived_fields! }
.to not_change { log.read_attribute(:la) }
end
end
@ -1503,18 +1507,19 @@ RSpec.describe LettingsLog, type: :model do
it "resets the address fields to nil" do
expect { log.set_derived_fields! }
.to change(log, :uprn).from(uprn).to(nil)
.and change(log, :uprn_known).from(uprn_known).to(nil)
.and change(log, :uprn_confirmed).from(uprn_confirmed).to(nil)
.and change(log, :address_line1).from(address_line1).to(nil)
.and change(log, :address_line2).from(address_line2).to(nil)
.and change(log, :town_or_city).from(town_or_city).to(nil)
.and change(log, :county).from(county).to(nil)
.and change(log, :postcode_full).from(postcode_full).to(nil)
.to change { log.read_attribute(:uprn) }.from(uprn).to(nil)
.and change { log.read_attribute(:uprn_known) }.from(uprn_known).to(nil)
.and change { log.read_attribute(:uprn_confirmed) }.from(uprn_confirmed).to(nil)
.and change { log.read_attribute(:address_line1) }.from(address_line1).to(nil)
.and change { log.read_attribute(:address_line2) }.from(address_line2).to(nil)
.and change { log.read_attribute(:town_or_city) }.from(town_or_city).to(nil)
.and change { log.read_attribute(:county) }.from(county).to(nil)
.and change { log.read_attribute(:postcode_full) }.from(postcode_full).to(nil)
end
it "does not reset LA" do
expect { log.set_derived_fields! }.to not_change(log, :la)
expect { log.set_derived_fields! }
.to not_change { log.read_attribute(:la) }
end
end
end
@ -1543,18 +1548,19 @@ RSpec.describe LettingsLog, type: :model do
context "when the location is not changed" do
it "does not reset the address fields" do
expect { log.set_derived_fields! }
.to not_change(log, :uprn)
.and not_change(log, :uprn_known)
.and not_change(log, :uprn_confirmed)
.and not_change(log, :address_line1)
.and not_change(log, :address_line2)
.and not_change(log, :town_or_city)
.and not_change(log, :county)
.and not_change(log, :postcode_full)
.to not_change { log.read_attribute(:uprn) }
.and not_change { log.read_attribute(:uprn_known) }
.and not_change { log.read_attribute(:uprn_confirmed) }
.and not_change { log.read_attribute(:address_line1) }
.and not_change { log.read_attribute(:address_line2) }
.and not_change { log.read_attribute(:town_or_city) }
.and not_change { log.read_attribute(:county) }
.and not_change { log.read_attribute(:postcode_full) }
end
it "does not reset LA" do
expect { log.set_derived_fields! }.to not_change(log, :la)
expect { log.set_derived_fields! }
.to not_change { log.read_attribute(:la) }
end
end
@ -1565,18 +1571,19 @@ RSpec.describe LettingsLog, type: :model do
it "resets the address fields to nil" do
expect { log.set_derived_fields! }
.to change(log, :uprn).from(uprn).to(nil)
.and change(log, :uprn_known).from(uprn_known).to(nil)
.and change(log, :uprn_confirmed).from(uprn_confirmed).to(nil)
.and change(log, :address_line1).from(address_line1).to(nil)
.and change(log, :address_line2).from(address_line2).to(nil)
.and change(log, :town_or_city).from(town_or_city).to(nil)
.and change(log, :county).from(county).to(nil)
.and change(log, :postcode_full).from(postcode_full).to(nil)
.to change { log.read_attribute(:uprn) }.from(uprn).to(nil)
.and change { log.read_attribute(:uprn_known) }.from(uprn_known).to(nil)
.and change { log.read_attribute(:uprn_confirmed) }.from(uprn_confirmed).to(nil)
.and change { log.read_attribute(:address_line1) }.from(address_line1).to(nil)
.and change { log.read_attribute(:address_line2) }.from(address_line2).to(nil)
.and change { log.read_attribute(:town_or_city) }.from(town_or_city).to(nil)
.and change { log.read_attribute(:county) }.from(county).to(nil)
.and change { log.read_attribute(:postcode_full) }.from(postcode_full).to(nil)
end
it "resets LA to nil" do
expect { log.set_derived_fields! }.to change(log, :la).from(la).to(nil)
expect { log.set_derived_fields! }
.to change { log.read_attribute(:la) } .from(la).to(nil)
end
end
end

Loading…
Cancel
Save