Browse Source

CLDC-3132 Update reason for vacancy for 23/24 (#2161)

* feat: update answer options

* feat: update hint text for 23/24 logs also

* feat: update tests
pull/2175/head
natdeanlewissoftwire 11 months ago committed by GitHub
parent
commit
d4bfa50a2f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 59
      app/models/form/lettings/questions/rsnvac.rb
  2. 68
      spec/models/form/lettings/questions/rsnvac_spec.rb

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

@ -7,14 +7,62 @@ 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
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" => { "13" => {
"value" => "Internal transfer", "value" => "Internal transfer",
"hint" => "Excluding renewals of a 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.",
},
"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" => "Where a tenant moved from one social housing property to another property. Their landlord may be the same or may have changed.",
}, },
"5" => { "5" => {
"value" => "Previous tenant died with no succession", "value" => "Previous tenant died with no succession",
@ -24,6 +72,7 @@ class Form::Lettings::Questions::Rsnvac < ::Form::Question
}, },
"14" => { "14" => {
"value" => "Renewal of fixed-term tenancy", "value" => "Renewal of fixed-term tenancy",
"hint" => "To the same tenant in the same property, except if was previously used as temporary accommodation.",
}, },
"19" => { "19" => {
"value" => "Tenant involved in a succession downsize", "value" => "Tenant involved in a succession downsize",
@ -49,5 +98,7 @@ class Form::Lettings::Questions::Rsnvac < ::Form::Question
"11" => { "11" => {
"value" => "Tenant was evicted due to anti-social behaviour", "value" => "Tenant was evicted due to anti-social behaviour",
}, },
}.freeze }
end
end
end end

68
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,11 +39,12 @@ RSpec.describe Form::Lettings::Questions::Rsnvac, type: :model do
expect(question.derived?).to be false expect(question.derived?).to be false
end end
context "with 2023/24 form" do
it "has the correct answer_options" do it "has the correct answer_options" do
expect(question.answer_options).to eq({ expect(question.answer_options).to eq({
"13" => { "13" => {
"value" => "Internal transfer", "value" => "Internal transfer",
"hint" => "Excluding renewals of a 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.",
}, },
"5" => { "5" => {
"value" => "Previous tenant died with no succession", "value" => "Previous tenant died with no succession",
@ -45,6 +54,7 @@ RSpec.describe Form::Lettings::Questions::Rsnvac, type: :model do
}, },
"14" => { "14" => {
"value" => "Renewal of fixed-term tenancy", "value" => "Renewal of fixed-term tenancy",
"hint" => "To the same tenant in the same property, except if was previously used as temporary accommodation.",
}, },
"19" => { "19" => {
"value" => "Tenant involved in a succession downsize", "value" => "Tenant involved in a succession downsize",
@ -72,6 +82,62 @@ RSpec.describe Form::Lettings::Questions::Rsnvac, type: :model do
}, },
}) })
end 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 it "has the correct check_answers_card_number" do
expect(question.check_answers_card_number).to eq(0) expect(question.check_answers_card_number).to eq(0)

Loading…
Cancel
Save