Files
codeocean/spec/factories/shared_traits.rb
2021-05-14 22:03:06 +02:00

24 lines
570 B
Ruby

# frozen_string_literal: true
FactoryBot.define do
%i[admin external_user teacher].each do |factory_name|
trait :"created_by_#{factory_name}" do
association :user, factory: factory_name
end
end
trait :generated_email do
email { "#{name.underscore.tr(' ', '.')}@example.org" }
end
trait :generated_user_name do
name { Forgery(:name).full_name }
end
[ExternalUser, InternalUser].each do |klass|
trait :"singleton_#{klass.name.underscore}" do
initialize_with { klass.where(email: email).first_or_create }
end
end
end