@ -12,6 +12,7 @@ RSpec.describe Form::Lettings::Questions::Reason, type: :model do
before do
allow ( form ) . to receive ( :start_year_2024_or_later? ) . and_return ( false )
allow ( form ) . to receive ( :start_year_2025_or_later? ) . and_return ( false )
allow ( form ) . to receive ( :start_year_2026_or_later? ) . and_return ( false )
allow ( page ) . to receive ( :subsection ) . and_return ( subsection )
allow ( subsection ) . to receive ( :form ) . and_return ( form )
end
@ -40,52 +41,52 @@ RSpec.describe Form::Lettings::Questions::Reason, type: :model do
expect ( question ) . not_to be_derived ( nil )
end
context " with 2023/24 form " do
context " with 2024/25 form " do
before do
allow ( form ) . to receive ( :start_year_2024_or_later? ) . and_return ( true )
end
it " has the correct answer_options " do
expect ( question . answer_options ) . to eq ( {
" 40 " = > { " value " = > " End of assured shorthold tenancy (no fault) " } ,
" 41 " = > { " value " = > " End of assured shorthold tenancy (eviction or tenant at fault) " } ,
" 4 2" = > { " value " = > " End of fixed term tenancy (no fault) " } ,
" 4 3" = > { " value " = > " End of fixed term tenancy (eviction or tenant at fault) " } ,
" 5 0" = > { " value " = > " End of social or private sector tenancy - no fault " } ,
" 5 1" = > { " value " = > " End of social or private sector tenancy - evicted due to anti-social behaviour (ASB ) " } ,
" 5 2" = > { " value " = > " End of social or private sector tenancy - evicted due to rent arrears " } ,
" 5 3" = > { " value " = > " End of social or private sector tenancy - evicted for any other reason " } ,
" 1 " = > { " value " = > " Permanently decanted from another property owned by this landlord " } ,
" 46 " = > { " value " = > " Discharged from long-stay hospital or similar institution " } ,
" 45 " = > { " value " = > " Discharged from prison " } ,
" 2 " = > { " value " = > " Left home country as a refugee " } ,
" 45 " = > { " value " = > " Discharged from prison " } ,
" 46 " = > { " value " = > " Discharged from long-stay hospital or similar institution " } ,
" 4 " = > { " value " = > " Loss of tied accommodation " } ,
" 9 " = > { " value " = > " Asked to leave by family or friends " } ,
" 44 " = > { " value " = > " Death of household member in last settled accommodation " } ,
" 8 " = > { " value " = > " Relationship breakdown (non-violent) with partner " } ,
" 44 " = > { " value " = > " Death of household member in last settled accommodation " } ,
" 16 " = > { " value " = > " To move nearer to family, friends or school " } ,
" 17 " = > { " value " = > " To move nearer to work " } ,
" 48 " = > { " value " = > " Domestic abuse - previously joint tenancy with partner " } ,
" 49 " = > { " value " = > " Domestic abuse - other " } ,
" 31 " = > { " value " = > " Hate crime " } ,
" 10 " = > { " value " = > " Racial harassment " } ,
" 31 " = > { " value " = > " Hate crime " } ,
" 11 " = > { " value " = > " Other problems with neighbours " } ,
" 35 " = > { " value " = > " Couldn’t afford fees attached to renewing the tenancy " } ,
" 36 " = > { " value " = > " Couldn’t afford increase in rent " } ,
" 38 " = > { " value " = > " Couldn’t afford rent or mortgage (employment) " } ,
" 37 " = > { " value " = > " Couldn’t afford rent or mortgage (welfare reforms) " } ,
" 39 " = > { " value " = > " Couldn’t afford rent or mortgage (other) " } ,
" 34 " = > { " value " = > " Repossession " } ,
" 54 " = > { " value " = > " Could no longer afford rent or mortgage " } ,
" 12 " = > { " value " = > " Property unsuitable because of overcrowding " } ,
" 13 " = > { " value " = > " Property unsuitable because of ill health or disability " } ,
" 14 " = > { " value " = > " Property unsuitable because of poor condition " } ,
" 29 " = > { " value " = > " Under occupation (offered incentive to downsize) " } ,
" 30 " = > { " value " = > " Under occupation (no incentive) " } ,
" 18 " = > { " value " = > " To move to accommodation with support " } ,
" 19 " = > { " value " = > " To move to independent accommodation " } ,
" 30 " = > { " value " = > " Under occupation (no incentive) " } ,
" 29 " = > { " value " = > " Under occupation (offered incentive to downsize) " } ,
" 20 " = > { " value " = > " Other " } ,
" 47 " = > { " value " = > " Tenant prefers not to say " } ,
" divider " = > { " value " = > true } ,
" 28 " = > { " value " = > " Don’t know " } ,
" divider " = > { " value " = > true } ,
" 47 " = > { " value " = > " Tenant prefers not to say " } ,
} )
end
end
context " with 2024/25 form " do
context " with 2025/26 form " do
before do
allow ( form ) . to receive ( :start_year_2024 _or_later? ) . and_return ( true )
allow ( form ) . to receive ( :start_year_2025 _or_later? ) . and_return ( true )
end
it " has the correct answer_options " do
@ -99,6 +100,7 @@ RSpec.describe Form::Lettings::Questions::Reason, type: :model do
" 45 " = > { " value " = > " Discharged from prison " } ,
" 46 " = > { " value " = > " Discharged from long-stay hospital or similar institution " } ,
" 4 " = > { " value " = > " Loss of tied accommodation " } ,
" 55 " = > { " value " = > " Leaving foster care or children's home " } ,
" 9 " = > { " value " = > " Asked to leave by family or friends " } ,
" 8 " = > { " value " = > " Relationship breakdown (non-violent) with partner " } ,
" 44 " = > { " value " = > " Death of household member in last settled accommodation " } ,
@ -118,17 +120,17 @@ RSpec.describe Form::Lettings::Questions::Reason, type: :model do
" 30 " = > { " value " = > " Under occupation (no incentive) " } ,
" 18 " = > { " value " = > " To move to accommodation with support " } ,
" 19 " = > { " value " = > " To move to independent accommodation " } ,
" 47 " = > { " value " = > " Tenant prefers not to say " } ,
" 20 " = > { " value " = > " Other " } ,
" 28 " = > { " value " = > " Don’t know " } ,
" divider " = > { " value " = > true } ,
" 47 " = > { " value " = > " Tenant prefers not to say " } ,
" 28 " = > { " value " = > " Don’t know " } ,
} )
end
end
context " with 2025/26 form " do
context " with 2026/27 form " do
before do
allow ( form ) . to receive ( :start_year_2025 _or_later? ) . and_return ( true )
allow ( form ) . to receive ( :start_year_2026 _or_later? ) . and_return ( true )
end
it " has the correct answer_options " do
@ -150,6 +152,8 @@ RSpec.describe Form::Lettings::Questions::Reason, type: :model do
" 17 " = > { " value " = > " To move nearer to work " } ,
" 48 " = > { " value " = > " Domestic abuse - previously joint tenancy with partner " } ,
" 49 " = > { " value " = > " Domestic abuse - other " } ,
" 56 " = > { " value " = > " Non-domestic violence (e.g. gang violence) " } ,
" 57 " = > { " value " = > " Cuckooing (property being used by others for illegal activity) " } ,
" 10 " = > { " value " = > " Racial harassment " } ,
" 31 " = > { " value " = > " Hate crime " } ,
" 11 " = > { " value " = > " Other problems with neighbours " } ,