From ed77dbe817f25ab6680bbf9b4b2c09e72a0230da Mon Sep 17 00:00:00 2001 From: natdeanlewissoftwire <94526761+natdeanlewissoftwire@users.noreply.github.com> Date: Mon, 5 Feb 2024 09:26:40 +0000 Subject: [PATCH] CLDC-3141 Update sheltered accommodation question for 24/25 (#2169) * feat: update answer options and hint text, test and fix typo * feat: update order --- .../form/lettings/questions/sheltered.rb | 29 +++++++---- app/models/lettings_log.rb | 2 +- .../form/lettings/questions/sheltered_spec.rb | 52 ++++++++++++++----- 3 files changed, 60 insertions(+), 23 deletions(-) diff --git a/app/models/form/lettings/questions/sheltered.rb b/app/models/form/lettings/questions/sheltered.rb index 67da39ce5..b8379469c 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? + { "1" => { "value" => "Yes – specialist retirement housing" }, + "2" => { "value" => "Yes – extra care 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 cd51056ca..9ad1702c9 100644 --- a/app/models/lettings_log.rb +++ b/app/models/lettings_log.rb @@ -377,7 +377,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..cf3f59f26 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({ + "1" => { "value" => "Yes – specialist retirement housing" }, + "2" => { "value" => "Yes – extra care 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