Sha256: b3b847f2413f0c36128b85821329d873633be9eab5d1465367a241ab8d546936
Contents?: true
Size: 1.04 KB
Versions: 10
Compression:
Stored size: 1.04 KB
Contents
FactoryBot.define do factory :user, class: 'Symphonia::User', aliases: [:author] do sequence(:first_name) { |n| "#{Faker::Name.first_name} #{n}" } sequence(:last_name) { |n| "#{Faker::Name.last_name} #{n}" } sequence(:email) { |n| "#{n}-#{Faker::Internet.email}" } login { email } admin { false } password { SecureRandom.hex(16) } last_request_at { Time.now } trait :admin do admin { true } end trait :with_preferences do transient do preference_names { [] } end after(:build) do |user, evaluator| user.preferences = evaluator.preference_names.collect { |pref_name| Symphonia::EmailPreference.find_by(name: pref_name) || FactoryBot.create(:email_preference, name: pref_name) } end end factory :admin_user, traits: [:admin] end factory :preference, class: 'Symphonia::Preference' do factory :email_preference, class: 'Symphonia::EmailPreference' do trait :user_registered do name { :notify_after_user_registered } end end end end
Version data entries
10 entries across 10 versions & 1 rubygems