|
|
|
FactoryBot.define do
|
|
|
|
factory :scheme do
|
|
|
|
service_name { "#{Faker::Name.name}'s Housing & Co." }
|
|
|
|
sensitive { Faker::Number.within(range: 0..1) }
|
|
|
|
registered_under_care_act { 1 }
|
|
|
|
support_type { [0, 2, 3, 4, 5].sample }
|
|
|
|
scheme_type { 4 }
|
|
|
|
arrangement_type { "D" }
|
|
|
|
intended_stay { %w[M P S V X].sample }
|
|
|
|
primary_client_group { %w[O H M L A G F B D E I S N R Q P X].sample }
|
|
|
|
secondary_client_group { %w[O H M L A G F B D E I S N R Q P X].sample }
|
|
|
|
has_other_client_group { 1 }
|
|
|
|
owning_organisation { FactoryBot.create(:organisation) }
|
|
|
|
confirmed { true }
|
|
|
|
created_at { Time.zone.local(2021, 4, 1) }
|
|
|
|
total_units { 2 }
|
|
|
|
trait :export do
|
|
|
|
sensitive { 1 }
|
|
|
|
registered_under_care_act { 1 }
|
|
|
|
support_type { 4 }
|
|
|
|
scheme_type { 7 }
|
|
|
|
intended_stay { "M" }
|
|
|
|
primary_client_group { "G" }
|
|
|
|
secondary_client_group { "M" }
|
|
|
|
has_other_client_group { 1 }
|
|
|
|
end
|
|
|
|
|
|
|
|
trait :with_old_visible_id do
|
|
|
|
old_visible_id { rand(9_999_999) }
|
|
|
|
end
|
|
|
|
trait :incomplete do
|
|
|
|
confirmed { false }
|
|
|
|
support_type { nil }
|
|
|
|
end
|
|
|
|
trait :duplicate do
|
|
|
|
scheme_type { 4 }
|
|
|
|
registered_under_care_act { 1 }
|
|
|
|
primary_client_group { "O" }
|
|
|
|
secondary_client_group { "H" }
|
|
|
|
has_other_client_group { 1 }
|
|
|
|
support_type { 2 }
|
|
|
|
intended_stay { "M" }
|
|
|
|
end
|
|
|
|
trait :created_now do
|
|
|
|
created_at { Time.zone.now }
|
|
|
|
end
|
|
|
|
trait :with_location do
|
|
|
|
after(:create) do |scheme|
|
|
|
|
create(:location, scheme:)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|