diff --git a/app/models/form/lettings/questions/sheltered.rb b/app/models/form/lettings/questions/sheltered.rb index 67da39ce5..665678d78 100644 --- a/app/models/form/lettings/questions/sheltered.rb +++ b/app/models/form/lettings/questions/sheltered.rb @@ -6,17 +6,26 @@ class Form::Lettings::Questions::Sheltered < ::Form::Question @header = "Is this letting in sheltered accommodation?" @type = "radio" @check_answers_card_number = 0 - @hint_text = "" - @answer_options = ANSWER_OPTIONS + @hint_text = "Sheltered housing and special retirement housing are for tenants with low-level care and support needs. This typically provides some limited support to enable independent living, such as alarm-based assistance or a scheme manager.

Extra care housing is for tenants with medium to high care and support needs, often with 24 hour access to support staff provided by an agency registered with the Care Quality Commission." @question_number = 29 end - ANSWER_OPTIONS = { - "2" => { "value" => "Yes – extra care housing" }, - "1" => { "value" => "Yes – specialist retirement housing" }, - "5" => { "value" => "Yes – sheltered housing for adults aged under 55 years" }, - "3" => { "value" => "No" }, - "divider" => { "value" => true }, - "4" => { "value" => "Don’t know" }, - }.freeze + def answer_options + if form.start_year_after_2024? + { "2" => { "value" => "Yes – extra care housing" }, + "1" => { "value" => "Yes – specialist retirement housing" }, + "5" => { "value" => "Yes – sheltered housing for adults aged under 55 years" }, + "6" => { "value" => "Yes – sheltered housing for adults aged 55 years and over who are not retired" }, + "3" => { "value" => "No" }, + "divider" => { "value" => true }, + "4" => { "value" => "Don’t know" } } + else + { "2" => { "value" => "Yes – extra care housing" }, + "1" => { "value" => "Yes – specialist retirement housing" }, + "5" => { "value" => "Yes – sheltered housing for adults aged under 55 years" }, + "3" => { "value" => "No" }, + "divider" => { "value" => true }, + "4" => { "value" => "Don’t know" } } + end + end end diff --git a/app/models/lettings_log.rb b/app/models/lettings_log.rb index 8ebf8092f..3754cfd67 100644 --- a/app/models/lettings_log.rb +++ b/app/models/lettings_log.rb @@ -370,7 +370,7 @@ class LettingsLog < Log def previous_tenancy_was_temporary? # 4: Tied housing or renting with job # 6: Supported housing - # 8: Sheltered accomodation (<= 21/22) + # 8: Sheltered accommodation (<= 21/22) # 24: Housed by National Asylum Support Service (prev Home Office) # 25: Other # 34: Specialist retirement housing diff --git a/spec/models/form/lettings/questions/sheltered_spec.rb b/spec/models/form/lettings/questions/sheltered_spec.rb index 5b9b3c743..5ed5caa30 100644 --- a/spec/models/form/lettings/questions/sheltered_spec.rb +++ b/spec/models/form/lettings/questions/sheltered_spec.rb @@ -4,6 +4,14 @@ RSpec.describe Form::Lettings::Questions::Sheltered, type: :model do subject(:question) { described_class.new(nil, nil, page) } let(:page) { instance_double(Form::Page) } + let(:subsection) { instance_double(Form::Subsection) } + let(:form) { instance_double(Form) } + + before do + allow(form).to receive(:start_year_after_2024?).and_return(false) + allow(page).to receive(:subsection).and_return(subsection) + allow(subsection).to receive(:form).and_return(form) + end it "has correct page" do expect(question.page).to eq page @@ -26,18 +34,38 @@ RSpec.describe Form::Lettings::Questions::Sheltered, type: :model do end it "has the correct hint_text" do - expect(question.hint_text).to eq "" - end - - it "has the correct answer_options" do - expect(question.answer_options).to eq({ - "2" => { "value" => "Yes – extra care housing" }, - "1" => { "value" => "Yes – specialist retirement housing" }, - "5" => { "value" => "Yes – sheltered housing for adults aged under 55 years" }, - "3" => { "value" => "No" }, - "divider" => { "value" => true }, - "4" => { "value" => "Don’t know" }, - }) + expect(question.hint_text).to eq "Sheltered housing and special retirement housing are for tenants with low-level care and support needs. This typically provides some limited support to enable independent living, such as alarm-based assistance or a scheme manager.

Extra care housing is for tenants with medium to high care and support needs, often with 24 hour access to support staff provided by an agency registered with the Care Quality Commission." + end + + context "with 2023/24 form" do + it "has the correct answer_options" do + expect(question.answer_options).to eq({ + "2" => { "value" => "Yes – extra care housing" }, + "1" => { "value" => "Yes – specialist retirement housing" }, + "5" => { "value" => "Yes – sheltered housing for adults aged under 55 years" }, + "3" => { "value" => "No" }, + "divider" => { "value" => true }, + "4" => { "value" => "Don’t know" }, + }) + end + end + + context "with 2024/25 form" do + before do + allow(form).to receive(:start_year_after_2024?).and_return(true) + end + + it "has the correct answer_options" do + expect(question.answer_options).to eq({ + "2" => { "value" => "Yes – extra care housing" }, + "1" => { "value" => "Yes – specialist retirement housing" }, + "5" => { "value" => "Yes – sheltered housing for adults aged under 55 years" }, + "6" => { "value" => "Yes – sheltered housing for adults aged 55 years and over who are not retired" }, + "3" => { "value" => "No" }, + "divider" => { "value" => true }, + "4" => { "value" => "Don’t know" }, + }) + end end it "is not marked as derived" do