Sha256: b007137a09b57a7492f8eb4baff29370c79cc0c2c9968afd4459d432748934b6

Contents?: true

Size: 1.61 KB

Versions: 63

Compression:

Stored size: 1.61 KB

Contents

module Pageflow
  FactoryBot.define do
    sequence :email do |n|
      "person#{n}@example.com"
    end

    factory :user do
      transient do
        on { nil }
      end

      email
      first_name { 'John' }
      last_name { 'Doe' }

      password { '@qwert12345' }
      password_confirmation { password }

      trait :member do
        after(:create) do |user, evaluator|
          create(:membership, user: user, entity: evaluator.on, role: :member)
        end
      end

      trait :previewer do
        after(:create) do |user, evaluator|
          create(:membership, user: user, entity: evaluator.on, role: :previewer)
        end
      end

      trait :editor do
        after(:create) do |user, evaluator|
          create(:membership, user: user, entity: evaluator.on, role: :editor)
        end
      end

      trait :publisher do
        after(:create) do |user, evaluator|
          create(:membership, user: user, entity: evaluator.on, role: :publisher)
        end
      end

      trait :manager do
        after(:create) do |user, evaluator|
          create(:membership, user: user, entity: evaluator.on, role: :manager)
        end
      end

      trait :admin do
        admin { true }
        after(:create) do |user, evaluator|
          create(:membership,
                 user: user,
                 role: :member,
                 entity: evaluator.on || create(:account))
        end
      end

      trait :suspended do
        suspended_at { 1.hour.ago }
      end
    end

    factory :valid_user, class: User do
      email
      first_name { 'Edison' }
      last_name { 'Editor' }
    end
  end
end

Version data entries

63 entries across 63 versions & 1 rubygems

Version Path
pageflow-17.0.4 spec/factories/users.rb
pageflow-17.0.3 spec/factories/users.rb
pageflow-17.0.2 spec/factories/users.rb
pageflow-17.0.1 spec/factories/users.rb
pageflow-17.0.0 spec/factories/users.rb
pageflow-16.2.0 spec/factories/users.rb
pageflow-16.1.0 spec/factories/users.rb
pageflow-16.0.0 spec/factories/users.rb
pageflow-15.8.0 spec/factories/users.rb
pageflow-14.5.2 spec/factories/users.rb
pageflow-15.7.1 spec/factories/users.rb
pageflow-15.7.0 spec/factories/users.rb
pageflow-15.6.1 spec/factories/users.rb
pageflow-15.6.0 spec/factories/users.rb
pageflow-15.5.0 spec/factories/users.rb
pageflow-15.4.0 spec/factories/users.rb
pageflow-15.3.0 spec/factories/users.rb
pageflow-15.2.2 spec/factories/users.rb
pageflow-15.2.1 spec/factories/users.rb
pageflow-15.2.0 spec/factories/users.rb