Create a factory for organizer

Refactor organizer user creation in tests

Fixes https://github.com/openSUSE/osem/issues/2398
This commit is contained in:
cyrille 2019-03-13 10:31:42 +01:00
parent 0197ed3c46
commit 35ec178beb
31 changed files with 48 additions and 68 deletions

View file

@ -13,7 +13,8 @@
# `create(:admin, is_admin: false)`
#
# For a non-admin user, use: `create(:user)`
# For an admin user, use: `create(:admin)
# For an admin user, use: `create(:admin)`
# For an organizer user, use `create(:organizer)`
FactoryBot.define do
factory :user do
@ -58,4 +59,14 @@ FactoryBot.define do
biography { '<div id="divInjectedElement"></div>' }
end
factory :organizer, parent: :user do
transient do
resource { create(:resource) }
end
after(:create) do |user, evaluator|
user.roles << Role.find_or_create_by(name: 'organizer', resource: evaluator.resource)
user.save!
end
end
end