Browse Source

feat: update answer options

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

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

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

145
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_id) { nil }
let(:question_definition) { nil } let(:question_definition) { nil }
let(:page) { instance_double(Form::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 it "has correct page" do
expect(question.page).to eq(page) expect(question.page).to eq(page)
@ -31,46 +39,103 @@ RSpec.describe Form::Lettings::Questions::Rsnvac, type: :model do
expect(question.derived?).to be false expect(question.derived?).to be false
end end
it "has the correct answer_options" do context "with 2023/24 form" do
expect(question.answer_options).to eq({ it "has the correct answer_options" do
"13" => { expect(question.answer_options).to eq({
"value" => "Internal transfer", "13" => {
"hint" => "Excluding renewals of a fixed-term tenancy", "value" => "Internal transfer",
}, "hint" => "Excluding renewals of a fixed-term tenancy",
"5" => { },
"value" => "Previous tenant died with no succession", "5" => {
}, "value" => "Previous tenant died with no succession",
"9" => { },
"value" => "Re-let to tenant who occupied same property as temporary accommodation", "9" => {
}, "value" => "Re-let to tenant who occupied same property as temporary accommodation",
"14" => { },
"value" => "Renewal of fixed-term tenancy", "14" => {
}, "value" => "Renewal of fixed-term tenancy",
"19" => { },
"value" => "Tenant involved in a succession downsize", "19" => {
}, "value" => "Tenant involved in a succession downsize",
"8" => { },
"value" => "Tenant moved to private sector or other accommodation", "8" => {
}, "value" => "Tenant moved to private sector or other accommodation",
"12" => { },
"value" => "Tenant moved to other social housing provider", "12" => {
}, "value" => "Tenant moved to other social housing provider",
"18" => { },
"value" => "Tenant moved to care home", "18" => {
}, "value" => "Tenant moved to care home",
"20" => { },
"value" => "Tenant moved to long-stay hospital or similar institution", "20" => {
}, "value" => "Tenant moved to long-stay hospital or similar institution",
"6" => { },
"value" => "Tenant abandoned property", "6" => {
}, "value" => "Tenant abandoned property",
"10" => { },
"value" => "Tenant was evicted due to rent arrears", "10" => {
}, "value" => "Tenant was evicted due to rent arrears",
"11" => { },
"value" => "Tenant was evicted due to anti-social behaviour", "11" => {
}, "value" => "Tenant was evicted due to anti-social behaviour",
}) },
})
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 end
it "has the correct check_answers_card_number" do it "has the correct check_answers_card_number" do

Loading…
Cancel
Save