Sha256: 86e4542ee828f903f3974773a6984f09c862f81f3b3ea20838503b25d3ae8012
Contents?: true
Size: 1.59 KB
Versions: 1
Compression:
Stored size: 1.59 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 :role, class: 'Symphonia::Role' do sequence(:name) { |n| "#{Faker::Job.title} #{n}" } end # factory :attachment, class: 'Symphonia::Attachment' do # association :attachable, factory: :user # end # # factory :file, parent: :attachment, class: 'Symphonia::CommonFile' do # attachment { File.new(File.expand_path('../../support/common_file.txt', __FILE__)) } # end # # factory :image, parent: :attachment, class: 'Symphonia::Image' do # attachment { File.new(File.expand_path('../../support/symphonia.jpg', __FILE__)) } # 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
symphonia-3.3.0 | spec/factories/factories.rb |