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