Browse Source

feat: update answer options

CLDC-3132-24-25-reason-for-vacancy-update
natdeanlewissoftwire 11 months ago
parent
commit
af473b6028
  1. 56
      app/models/form/lettings/questions/rsnvac.rb
  2. 65
      spec/models/form/lettings/questions/rsnvac_spec.rb

56
app/models/form/lettings/questions/rsnvac.rb

@ -7,11 +7,59 @@ class Form::Lettings::Questions::Rsnvac < ::Form::Question
@type = "radio"
@check_answers_card_number = 0
@hint_text = ""
@answer_options = ANSWER_OPTIONS
@question_number = 17
end
ANSWER_OPTIONS = {
def answer_options
if form.start_year_after_2024?
{
"14" => {
"value" => "Renewal of fixed-term tenancy",
"hint" => "To the same tenant in the same property, except if was previously used as temporary accommodation.",
},
"9" => {
"value" => "Re-let to tenant who occupied same property as temporary accommodation",
},
"13" => {
"value" => "Internal transfer",
"hint" => "Where a tenant moved from one social housing property to another property. Their landlord may be the same or may have changed.",
},
"12" => {
"value" => "Tenant moved to other social housing provider",
},
"8" => {
"value" => "Tenant moved to private sector or other accommodation",
},
"18" => {
"value" => "Tenant moved to care home",
},
"20" => {
"value" => "Tenant moved to long-stay hospital or similar institution",
},
"5" => {
"value" => "Tenant died with no succession",
},
"19" => {
"value" => "Tenant involved in a succession downsize",
},
"6" => {
"value" => "Tenant abandoned property",
},
"10" => {
"value" => "Tenant was evicted due to rent arrears",
},
"11" => {
"value" => "Tenant was evicted due to anti-social behaviour",
},
"21" => {
"value" => "Tenant was evicted due to both rent arrears and anti-social behaviour",
},
"22" => {
"value" => "Any other reason",
},
}
else
{
"13" => {
"value" => "Internal transfer",
"hint" => "Excluding renewals of a fixed-term tenancy",
@ -49,5 +97,7 @@ class Form::Lettings::Questions::Rsnvac < ::Form::Question
"11" => {
"value" => "Tenant was evicted due to anti-social behaviour",
},
}.freeze
}
end
end
end

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

@ -6,6 +6,14 @@ RSpec.describe Form::Lettings::Questions::Rsnvac, type: :model do
let(:question_id) { nil }
let(:question_definition) { nil }
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)
@ -31,6 +39,7 @@ RSpec.describe Form::Lettings::Questions::Rsnvac, type: :model do
expect(question.derived?).to be false
end
context "with 2023/24 form" do
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"13" => {
@ -72,6 +81,62 @@ RSpec.describe Form::Lettings::Questions::Rsnvac, type: :model do
},
})
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({
"14" => {
"value" => "Renewal of fixed-term tenancy",
"hint" => "To the same tenant in the same property, except if was previously used as temporary accommodation.",
},
"9" => {
"value" => "Re-let to tenant who occupied same property as temporary accommodation",
},
"13" => {
"value" => "Internal transfer",
"hint" => "Where a tenant moved from one social housing property to another property. Their landlord may be the same or may have changed.",
},
"12" => {
"value" => "Tenant moved to other social housing provider",
},
"8" => {
"value" => "Tenant moved to private sector or other accommodation",
},
"18" => {
"value" => "Tenant moved to care home",
},
"20" => {
"value" => "Tenant moved to long-stay hospital or similar institution",
},
"5" => {
"value" => "Tenant died with no succession",
},
"19" => {
"value" => "Tenant involved in a succession downsize",
},
"6" => {
"value" => "Tenant abandoned property",
},
"10" => {
"value" => "Tenant was evicted due to rent arrears",
},
"11" => {
"value" => "Tenant was evicted due to anti-social behaviour",
},
"21" => {
"value" => "Tenant was evicted due to both rent arrears and anti-social behaviour",
},
"22" => {
"value" => "Any other reason",
},
})
end
end
it "has the correct check_answers_card_number" do
expect(question.check_answers_card_number).to eq(0)

Loading…
Cancel
Save