Browse Source

Fix lettings log derived fields tests

CLDC-4159-address-uprn-for-supported-housing
oscar-richardson-softwire 5 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 end
describe "resetting address fields and LA" do 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) { "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_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). 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 it "does not reset the address fields" do
expect { log.set_derived_fields! } expect { log.set_derived_fields! }
.to not_change(log, :uprn) .to not_change { log.read_attribute(:uprn) }
.and not_change(log, :uprn_known) .and not_change { log.read_attribute(:uprn_known) }
.and not_change(log, :uprn_confirmed) .and not_change { log.read_attribute(:uprn_confirmed) }
.and not_change(log, :address_line1) .and not_change { log.read_attribute(:address_line1) }
.and not_change(log, :address_line2) .and not_change { log.read_attribute(:address_line2) }
.and not_change(log, :town_or_city) .and not_change { log.read_attribute(:town_or_city) }
.and not_change(log, :county) .and not_change { log.read_attribute(:county) }
.and not_change(log, :postcode_full) .and not_change { log.read_attribute(:postcode_full) }
end end
it "does not reset LA" do 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 end
@ -1503,18 +1507,19 @@ RSpec.describe LettingsLog, type: :model do
it "resets the address fields to nil" do it "resets the address fields to nil" do
expect { log.set_derived_fields! } expect { log.set_derived_fields! }
.to change(log, :uprn).from(uprn).to(nil) .to change { log.read_attribute(:uprn) }.from(uprn).to(nil)
.and change(log, :uprn_known).from(uprn_known).to(nil) .and change { log.read_attribute(:uprn_known) }.from(uprn_known).to(nil)
.and change(log, :uprn_confirmed).from(uprn_confirmed).to(nil) .and change { log.read_attribute(:uprn_confirmed) }.from(uprn_confirmed).to(nil)
.and change(log, :address_line1).from(address_line1).to(nil) .and change { log.read_attribute(:address_line1) }.from(address_line1).to(nil)
.and change(log, :address_line2).from(address_line2).to(nil) .and change { log.read_attribute(:address_line2) }.from(address_line2).to(nil)
.and change(log, :town_or_city).from(town_or_city).to(nil) .and change { log.read_attribute(:town_or_city) }.from(town_or_city).to(nil)
.and change(log, :county).from(county).to(nil) .and change { log.read_attribute(:county) }.from(county).to(nil)
.and change(log, :postcode_full).from(postcode_full).to(nil) .and change { log.read_attribute(:postcode_full) }.from(postcode_full).to(nil)
end end
it "does not reset LA" do 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 end
end end
@ -1543,18 +1548,19 @@ RSpec.describe LettingsLog, type: :model do
context "when the location is not changed" do context "when the location is not changed" do
it "does not reset the address fields" do it "does not reset the address fields" do
expect { log.set_derived_fields! } expect { log.set_derived_fields! }
.to not_change(log, :uprn) .to not_change { log.read_attribute(:uprn) }
.and not_change(log, :uprn_known) .and not_change { log.read_attribute(:uprn_known) }
.and not_change(log, :uprn_confirmed) .and not_change { log.read_attribute(:uprn_confirmed) }
.and not_change(log, :address_line1) .and not_change { log.read_attribute(:address_line1) }
.and not_change(log, :address_line2) .and not_change { log.read_attribute(:address_line2) }
.and not_change(log, :town_or_city) .and not_change { log.read_attribute(:town_or_city) }
.and not_change(log, :county) .and not_change { log.read_attribute(:county) }
.and not_change(log, :postcode_full) .and not_change { log.read_attribute(:postcode_full) }
end end
it "does not reset LA" do 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 end
@ -1565,18 +1571,19 @@ RSpec.describe LettingsLog, type: :model do
it "resets the address fields to nil" do it "resets the address fields to nil" do
expect { log.set_derived_fields! } expect { log.set_derived_fields! }
.to change(log, :uprn).from(uprn).to(nil) .to change { log.read_attribute(:uprn) }.from(uprn).to(nil)
.and change(log, :uprn_known).from(uprn_known).to(nil) .and change { log.read_attribute(:uprn_known) }.from(uprn_known).to(nil)
.and change(log, :uprn_confirmed).from(uprn_confirmed).to(nil) .and change { log.read_attribute(:uprn_confirmed) }.from(uprn_confirmed).to(nil)
.and change(log, :address_line1).from(address_line1).to(nil) .and change { log.read_attribute(:address_line1) }.from(address_line1).to(nil)
.and change(log, :address_line2).from(address_line2).to(nil) .and change { log.read_attribute(:address_line2) }.from(address_line2).to(nil)
.and change(log, :town_or_city).from(town_or_city).to(nil) .and change { log.read_attribute(:town_or_city) }.from(town_or_city).to(nil)
.and change(log, :county).from(county).to(nil) .and change { log.read_attribute(:county) }.from(county).to(nil)
.and change(log, :postcode_full).from(postcode_full).to(nil) .and change { log.read_attribute(:postcode_full) }.from(postcode_full).to(nil)
end end
it "resets LA to nil" do 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 end
end end

Loading…
Cancel
Save