|
|
|
FactoryBot.define do
|
|
|
|
factory :organisation do
|
|
|
|
name { "MHCLG" }
|
|
|
|
address_line1 { "2 Marsham Street" }
|
|
|
|
address_line2 { "London" }
|
|
|
|
provider_type { "LA" }
|
|
|
|
housing_registration_no { "1234" }
|
|
|
|
postcode { "SW1P 4DF" }
|
|
|
|
created_at { Time.zone.now }
|
|
|
|
updated_at { Time.zone.now }
|
|
|
|
holds_own_stock { true }
|
|
|
|
|
|
|
|
transient do
|
|
|
|
with_dsa { true }
|
|
|
|
end
|
|
|
|
|
|
|
|
transient do
|
|
|
|
rent_periods { [] }
|
|
|
|
end
|
|
|
|
|
|
|
|
after(:create) do |organisation, evaluator|
|
|
|
|
evaluator.rent_periods.each do |rent_period|
|
|
|
|
organisation.organisation_rent_periods << build(:organisation_rent_period, rent_period:)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
after(:create) do |org, evaluator|
|
|
|
|
if evaluator.with_dsa && !org.data_protection_confirmed?
|
|
|
|
create(
|
|
|
|
:data_protection_confirmation,
|
|
|
|
organisation: org,
|
|
|
|
data_protection_officer: org.users.any? ? org.users.first : create(:user, :data_protection_officer, organisation: org, with_dsa: false),
|
|
|
|
)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
trait :with_old_visible_id do
|
|
|
|
old_visible_id { rand(9_999_999).to_s }
|
|
|
|
end
|
|
|
|
|
|
|
|
trait :prp do
|
|
|
|
provider_type { "PRP" }
|
|
|
|
end
|
|
|
|
|
|
|
|
trait :does_not_own_stock do
|
|
|
|
holds_own_stock { false }
|
|
|
|
end
|
|
|
|
|
|
|
|
trait :without_dpc do
|
|
|
|
transient do
|
|
|
|
with_dsa { false }
|
|
|
|
end
|
|
|
|
|
|
|
|
data_protection_confirmation { nil }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
factory :organisation_rent_period do
|
|
|
|
organisation
|
|
|
|
rent_period { 2 }
|
|
|
|
created_at { Time.zone.now }
|
|
|
|
updated_at { Time.zone.now }
|
|
|
|
end
|
|
|
|
end
|