Browse Source

CLDC-3866 Update previous tenure answer options (#2935)

* Update previous tenure answer options

* Fix page test
main
kosiakkatrina 3 days ago committed by GitHub
parent
commit
e40dbb2a84
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 5
      app/models/form/lettings/questions/previous_tenure.rb
  2. 8
      app/models/form/lettings/questions/previous_tenure_renewal.rb
  3. 2
      spec/models/form/lettings/pages/previous_housing_situation_renewal_spec.rb
  4. 31
      spec/models/form/lettings/questions/previous_tenure_renewal_spec.rb
  5. 65
      spec/models/form/lettings/questions/previous_tenure_spec.rb

5
app/models/form/lettings/questions/previous_tenure.rb

@ -43,15 +43,14 @@ class Form::Lettings::Questions::PreviousTenure < ::Form::Question
"32" => { "value" => "Fixed-term private registered provider (PRP) general needs tenancy" },
"31" => { "value" => "Lifetime local authority general needs tenancy" },
"33" => { "value" => "Lifetime private registered provider (PRP) general needs tenancy" },
"34" => { "value" => "Specialist retirement housing" },
"36" => { "value" => "Sheltered housing for adults aged under 55 years" },
"35" => { "value" => "Extra care housing" },
"38" => { "value" => "Older people’s housing for tenants with low support needs" },
"6" => { "value" => "Other supported housing" },
"3" => { "value" => "Private sector tenancy" },
"27" => { "value" => "Owner occupation (low-cost home ownership)" },
"26" => { "value" => "Owner occupation (private)" },
"28" => { "value" => "Living with friends and family (long-term)" },
"38" => { "value" => "Sofa surfing (moving regularly between family and friends, no permanent bed)" },
"39" => { "value" => "Sofa surfing (moving regularly between family and friends, no permanent bed)" },
"14" => { "value" => "Bed and breakfast" },
"7" => { "value" => "Direct access hostel" },
"10" => { "value" => "Hospital" },

8
app/models/form/lettings/questions/previous_tenure_renewal.rb

@ -5,7 +5,7 @@ class Form::Lettings::Questions::PreviousTenureRenewal < ::Form::Question
@copy_key = "lettings.household_situation.prevten.renewal"
@type = "radio"
@check_answers_card_number = 0
@answer_options = ANSWER_OPTIONS
@answer_options = form.start_year_2025_or_later? ? ANSWER_OPTIONS_2025 : ANSWER_OPTIONS
@question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max]
end
@ -16,5 +16,11 @@ class Form::Lettings::Questions::PreviousTenureRenewal < ::Form::Question
"6" => { "value" => "Other supported housing" },
}.freeze
ANSWER_OPTIONS_2025 = {
"35" => { "value" => "Extra care housing" },
"38" => { "value" => "Older people’s housing for tenants with low support needs" },
"6" => { "value" => "Other supported housing" },
}.freeze
QUESTION_NUMBER_FROM_YEAR = { 2023 => 78, 2024 => 77 }.freeze
end

2
spec/models/form/lettings/pages/previous_housing_situation_renewal_spec.rb

@ -3,7 +3,7 @@ require "rails_helper"
RSpec.describe Form::Lettings::Pages::PreviousHousingSituationRenewal, type: :model do
subject(:page) { described_class.new(nil, nil, subsection) }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1))) }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2025_or_later?: false)) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)

31
spec/models/form/lettings/questions/previous_tenure_renewal_spec.rb

@ -3,7 +3,8 @@ require "rails_helper"
RSpec.describe Form::Lettings::Questions::PreviousTenureRenewal, type: :model do
subject(:question) { described_class.new(nil, nil, page) }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1)))) }
let(:start_year_after_2025) { false }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 1), start_year_2025_or_later?: start_year_after_2025))) }
it "has the correct id" do
expect(question.id).to eq("prevten")
@ -21,12 +22,26 @@ RSpec.describe Form::Lettings::Questions::PreviousTenureRenewal, type: :model do
expect(question.derived?(nil)).to be false
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"34" => { "value" => "Specialist retirement housing" },
"35" => { "value" => "Extra care housing" },
"36" => { "value" => "Sheltered housing for adults aged under 55 years" },
"6" => { "value" => "Other supported housing" },
})
context "with logs before 2025" do
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"34" => { "value" => "Specialist retirement housing" },
"35" => { "value" => "Extra care housing" },
"36" => { "value" => "Sheltered housing for adults aged under 55 years" },
"6" => { "value" => "Other supported housing" },
})
end
end
context "with logs on or after 2025" do
let(:start_year_after_2025) { true }
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"35" => { "value" => "Extra care housing" },
"38" => { "value" => "Older people’s housing for tenants with low support needs" },
"6" => { "value" => "Other supported housing" },
})
end
end
end

65
spec/models/form/lettings/questions/previous_tenure_spec.rb

@ -22,35 +22,37 @@ RSpec.describe Form::Lettings::Questions::PreviousTenure, type: :model do
expect(question.derived?(nil)).to be false
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"30" => { "value" => "Fixed-term local authority general needs tenancy" },
"32" => { "value" => "Fixed-term private registered provider (PRP) general needs tenancy" },
"31" => { "value" => "Lifetime local authority general needs tenancy" },
"33" => { "value" => "Lifetime private registered provider (PRP) general needs tenancy" },
"34" => { "value" => "Specialist retirement housing" },
"35" => { "value" => "Extra care housing" },
"6" => { "value" => "Other supported housing" },
"3" => { "value" => "Private sector tenancy" },
"27" => { "value" => "Owner occupation (low-cost home ownership)" },
"26" => { "value" => "Owner occupation (private)" },
"28" => { "value" => "Living with friends or family" },
"14" => { "value" => "Bed and breakfast" },
"7" => { "value" => "Direct access hostel" },
"10" => { "value" => "Hospital" },
"29" => { "value" => "Prison or approved probation hostel" },
"19" => { "value" => "Rough sleeping" },
"18" => { "value" => "Any other temporary accommodation" },
"13" => { "value" => "Children’s home or foster care" },
"24" => { "value" => "Home Office Asylum Support" },
"23" => { "value" => "Mobile home or caravan" },
"21" => { "value" => "Refuge" },
"9" => { "value" => "Residential care home" },
"4" => { "value" => "Tied housing or rented with job" },
"36" => { "value" => "Sheltered housing for adults aged under 55 years" },
"37" => { "value" => "Host family or similar refugee accommodation" },
"25" => { "value" => "Any other accommodation" },
})
context "with start year before 2025" do
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"30" => { "value" => "Fixed-term local authority general needs tenancy" },
"32" => { "value" => "Fixed-term private registered provider (PRP) general needs tenancy" },
"31" => { "value" => "Lifetime local authority general needs tenancy" },
"33" => { "value" => "Lifetime private registered provider (PRP) general needs tenancy" },
"34" => { "value" => "Specialist retirement housing" },
"35" => { "value" => "Extra care housing" },
"6" => { "value" => "Other supported housing" },
"3" => { "value" => "Private sector tenancy" },
"27" => { "value" => "Owner occupation (low-cost home ownership)" },
"26" => { "value" => "Owner occupation (private)" },
"28" => { "value" => "Living with friends or family" },
"14" => { "value" => "Bed and breakfast" },
"7" => { "value" => "Direct access hostel" },
"10" => { "value" => "Hospital" },
"29" => { "value" => "Prison or approved probation hostel" },
"19" => { "value" => "Rough sleeping" },
"18" => { "value" => "Any other temporary accommodation" },
"13" => { "value" => "Children’s home or foster care" },
"24" => { "value" => "Home Office Asylum Support" },
"23" => { "value" => "Mobile home or caravan" },
"21" => { "value" => "Refuge" },
"9" => { "value" => "Residential care home" },
"4" => { "value" => "Tied housing or rented with job" },
"36" => { "value" => "Sheltered housing for adults aged under 55 years" },
"37" => { "value" => "Host family or similar refugee accommodation" },
"25" => { "value" => "Any other accommodation" },
})
end
end
context "with 2025 logs" do
@ -62,14 +64,14 @@ RSpec.describe Form::Lettings::Questions::PreviousTenure, type: :model do
"32" => { "value" => "Fixed-term private registered provider (PRP) general needs tenancy" },
"31" => { "value" => "Lifetime local authority general needs tenancy" },
"33" => { "value" => "Lifetime private registered provider (PRP) general needs tenancy" },
"34" => { "value" => "Specialist retirement housing" },
"35" => { "value" => "Extra care housing" },
"38" => { "value" => "Older people’s housing for tenants with low support needs" },
"6" => { "value" => "Other supported housing" },
"3" => { "value" => "Private sector tenancy" },
"27" => { "value" => "Owner occupation (low-cost home ownership)" },
"26" => { "value" => "Owner occupation (private)" },
"28" => { "value" => "Living with friends and family (long-term)" },
"38" => { "value" => "Sofa surfing (moving regularly between family and friends, no permanent bed)" },
"39" => { "value" => "Sofa surfing (moving regularly between family and friends, no permanent bed)" },
"14" => { "value" => "Bed and breakfast" },
"7" => { "value" => "Direct access hostel" },
"10" => { "value" => "Hospital" },
@ -82,7 +84,6 @@ RSpec.describe Form::Lettings::Questions::PreviousTenure, type: :model do
"21" => { "value" => "Refuge" },
"9" => { "value" => "Residential care home" },
"4" => { "value" => "Tied housing or rented with job" },
"36" => { "value" => "Sheltered housing for adults aged under 55 years" },
"37" => { "value" => "Host family or similar refugee accommodation" },
"25" => { "value" => "Any other accommodation" },
})

Loading…
Cancel
Save