Browse Source

CLDC-3870: Ask number of bedrooms when changing answer to non bedsit (#3123)

* CLDC-3870: Nil the beds question when the user changes off of bedsit

this forces the user to answer it again as we previously assumed the answer to be '1' when they answered bedsit

* CLDC-3870: Add tests
pull/3124/merge v0.5.24
Samuel Young 2 weeks ago committed by GitHub
parent
commit
ac17087728
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 3
      app/models/derived_variables/lettings_log_variables.rb
  2. 3
      app/models/derived_variables/sales_log_variables.rb
  3. 4
      app/models/lettings_log.rb
  4. 4
      app/models/sales_log.rb
  5. 16
      spec/models/lettings_log_derived_fields_spec.rb
  6. 18
      spec/models/sales_log_derived_fields_spec.rb

3
app/models/derived_variables/lettings_log_variables.rb

@ -71,6 +71,9 @@ module DerivedVariables::LettingsLogVariables
if form.start_year_2024_or_later? && is_bedsit? if form.start_year_2024_or_later? && is_bedsit?
self.beds = 1 self.beds = 1
end end
if bedsit_changed_to_not_bedsit? # make user answer num of bedrooms again
self.beds = nil
end
clear_child_ecstat_for_age_changes! clear_child_ecstat_for_age_changes!
child_under_16_constraints! child_under_16_constraints!

3
app/models/derived_variables/sales_log_variables.rb

@ -83,6 +83,9 @@ module DerivedVariables::SalesLogVariables
if form.start_year_2025_or_later? && is_bedsit? if form.start_year_2025_or_later? && is_bedsit?
self.beds = 1 self.beds = 1
end end
if bedsit_changed_to_not_bedsit? # make user answer num of bedrooms again
self.beds = nil
end
self.nationality_all = nationality_all_group if nationality_uk_or_prefers_not_to_say? self.nationality_all = nationality_all_group if nationality_uk_or_prefers_not_to_say?
self.nationality_all_buyer2 = nationality_all_buyer2_group if nationality2_uk_or_prefers_not_to_say? self.nationality_all_buyer2 = nationality_all_buyer2_group if nationality2_uk_or_prefers_not_to_say?

4
app/models/lettings_log.rb

@ -399,6 +399,10 @@ class LettingsLog < Log
form.start_year_2024_or_later? && is_bedsit? form.start_year_2024_or_later? && is_bedsit?
end end
def bedsit_changed_to_not_bedsit?
unittype_gn_changed? && unittype_gn_was == 2
end
def is_shared_housing? def is_shared_housing?
# 4: Shared flat or maisonette # 4: Shared flat or maisonette
# 9: Shared house # 9: Shared house

4
app/models/sales_log.rb

@ -386,6 +386,10 @@ class SalesLog < Log
form.start_year_2025_or_later? && is_bedsit? form.start_year_2025_or_later? && is_bedsit?
end end
def bedsit_changed_to_not_bedsit?
proptype_changed? && proptype_was == 2
end
def shared_ownership_scheme? def shared_ownership_scheme?
ownershipsch == 1 ownershipsch == 1
end end

16
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) expect { log.set_derived_fields! }.to not_change(log, :ecstat2)
end end
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 end

18
spec/models/sales_log_derived_fields_spec.rb

@ -186,5 +186,23 @@ RSpec.describe SalesLog, type: :model do
end end
end 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
end end

Loading…
Cancel
Save