demarches-normaliennes/spec/factories/administrateur.rb
Pierre de La Morinerie a2b91c8ec6 factories: cleanup Administrateur, Instructeur and Expert factories
This changes:

- avoids relying on application code to create mock objects,
- allows to build Administrateur or Instructeurs without saving them.
2021-10-26 12:03:30 +02:00

31 lines
772 B
Ruby

FactoryBot.define do
sequence(:administrateur_email) { |n| "admin#{n}@admin.com" }
factory :administrateur do
user { association :user, email: email, password: password }
transient do
email { generate(:administrateur_email) }
password { 'Mon [hien 4im3 {es banane$' }
instructeur { build(:instructeur, user: user) }
end
after(:build) do |administrateur, evaluator|
if administrateur.user
administrateur.user.instructeur = evaluator.instructeur
end
end
end
trait :with_api_token do
after(:create) do |admin|
admin.renew_api_token
end
end
trait :with_procedure do
after(:create) do |admin|
create(:simple_procedure, administrateur: admin)
admin.reload
end
end
end