|
|
|
FactoryBot.define do
|
|
|
|
factory :user do
|
|
|
|
sequence(:email) { "test#{SecureRandom.hex}@example.com" }
|
|
|
|
name { "Danny Rojas" }
|
|
|
|
password { "pAssword1" }
|
|
|
|
organisation { association :organisation, with_dsa: is_dpo ? false : true }
|
|
|
|
role { "data_provider" }
|
|
|
|
phone { "1234512345123" }
|
|
|
|
trait :data_provider do
|
|
|
|
role { "data_provider" }
|
|
|
|
end
|
|
|
|
trait :data_coordinator do
|
|
|
|
role { "data_coordinator" }
|
|
|
|
end
|
|
|
|
trait :data_protection_officer do
|
|
|
|
is_dpo { true }
|
|
|
|
end
|
|
|
|
trait :support do
|
|
|
|
role { "support" }
|
|
|
|
end
|
|
|
|
sign_in_count { 5 }
|
|
|
|
confirmed_at { Time.zone.now }
|
|
|
|
created_at { Time.zone.now }
|
|
|
|
updated_at { Time.zone.now }
|
|
|
|
|
|
|
|
transient do
|
|
|
|
old_user_id { SecureRandom.uuid }
|
|
|
|
end
|
|
|
|
|
|
|
|
transient do
|
|
|
|
with_dsa { true }
|
|
|
|
end
|
|
|
|
|
|
|
|
after(:create) do |user, evaluator|
|
|
|
|
if evaluator.with_dsa && !user.organisation.data_protection_confirmed?
|
|
|
|
create(
|
|
|
|
:data_protection_confirmation,
|
|
|
|
organisation: user.organisation,
|
|
|
|
data_protection_officer: user,
|
|
|
|
)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|