From af1852491af632a53eacaca1a1546fcf8800aa73 Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Tue, 18 Nov 2025 12:11:28 +0000 Subject: [PATCH] CLDC-3870: Add tests --- .../models/lettings_log_derived_fields_spec.rb | 16 ++++++++++++++++ spec/models/sales_log_derived_fields_spec.rb | 18 ++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/spec/models/lettings_log_derived_fields_spec.rb b/spec/models/lettings_log_derived_fields_spec.rb index e49e045a6..c7444a956 100644 --- a/spec/models/lettings_log_derived_fields_spec.rb +++ b/spec/models/lettings_log_derived_fields_spec.rb @@ -1232,4 +1232,20 @@ RSpec.describe LettingsLog, type: :model do expect { log.set_derived_fields! }.to not_change(log, :ecstat2) end end + + describe "deriving num of bedrooms from whether property is bedsit" do + it "sets num of bedrooms to 1 when property is a bedsit" do + log.unittype_gn = 2 + expect { log.set_derived_fields! }.to change(log, :beds).to 1 + end + + it "sets num of bedrooms to nil when property is change from a bedsit" do + log.unittype_gn = 2 + log.set_derived_fields! + log.clear_changes_information + + log.unittype_gn = 1 + expect { log.set_derived_fields! }.to change(log, :beds).to nil + end + end end diff --git a/spec/models/sales_log_derived_fields_spec.rb b/spec/models/sales_log_derived_fields_spec.rb index 7827ce282..f1be79fff 100644 --- a/spec/models/sales_log_derived_fields_spec.rb +++ b/spec/models/sales_log_derived_fields_spec.rb @@ -186,5 +186,23 @@ RSpec.describe SalesLog, type: :model do end end end + + describe "deriving num of bedrooms from whether property is bedsit" do + let(:log) { create(:sales_log, :completed) } + + it "sets num of bedrooms to 1 when property is a bedsit" do + log.proptype = 2 + expect { log.set_derived_fields! }.to change(log, :beds).to 1 + end + + it "sets num of bedrooms to nil when property is change from a bedsit" do + log.proptype = 2 + log.set_derived_fields! + log.clear_changes_information + + log.proptype = 1 + expect { log.set_derived_fields! }.to change(log, :beds).to nil + end + end end end