Submit social housing lettings and sales data (CORE)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

95 lines
2.6 KiB

require "rails_helper"
RSpec.describe Form::Lettings::Subsections::HouseholdSituation, type: :model do
subject(:household_situation) { described_class.new(subsection_id, subsection_definition, section) }
let(:subsection_id) { nil }
let(:subsection_definition) { nil }
let(:section) { instance_double(Form::Lettings::Sections::Household) }
let(:form) { instance_double(Form) }
before do
allow(section).to receive(:form).and_return(form)
end
it "has correct section" do
expect(household_situation.section).to eq(section)
end
context "with form year before 2024" do
before do
allow(form).to receive(:start_year_after_2024?).and_return(false)
end
it "has correct pages" do
expect(household_situation.pages.map(&:id)).to eq(
%w[
time_lived_in_local_authority
time_on_waiting_list
reason_for_leaving_last_settled_home
reason_for_leaving_last_settled_home_renewal
previous_housing_situation
previous_housing_situation_renewal
homelessness
previous_postcode
previous_local_authority
reasonable_preference
reasonable_preference_reason
allocation_system
referral
referral_prp
referral_supported_housing
referral_supported_housing_prp
referral_value_check
],
)
end
end
context "with form year >= 2024" do
before do
allow(form).to receive(:start_year_after_2024?).and_return(true)
end
it "has correct pages" do
expect(household_situation.pages.map(&:id)).to eq(
%w[
time_lived_in_local_authority
time_on_waiting_list
reason_for_leaving_last_settled_home
reason_for_leaving_last_settled_home_renewal
reasonother_value_check
previous_housing_situation
previous_housing_situation_renewal
homelessness
previous_postcode
previous_local_authority
reasonable_preference
reasonable_preference_reason
allocation_system
referral
referral_prp
referral_supported_housing
referral_supported_housing_prp
referral_value_check
],
)
end
end
it "has the correct id" do
expect(household_situation.id).to eq("household_situation")
end
it "has the correct label" do
expect(household_situation.label).to eq("Household situation")
end
it "has the correct depends_on" do
expect(household_situation.depends_on).to eq([
{
"non_location_setup_questions_completed?" => true,
},
])
end
end