Sha256: ccb222066c4822d5c0f794c7d61240ce1608a1d799718fad44a202bb610c671a

Contents?: true

Size: 1.15 KB

Versions: 5

Compression:

Stored size: 1.15 KB

Contents

module Pageflow
  FactoryBot.define do
    factory :membership, class: Membership do
      user
      association :entity, factory: :entry
      role :previewer
      before(:create) do |membership|
        if membership.entity_type != 'Pageflow::Account' &&
           !membership.user.accounts.include?(membership.entity.account) &&
           !membership.entity.account.nil?
          create(:membership,
                 user: membership.user,
                 entity: membership.entity.account,
                 role: :member)
        end
      end
    end

    factory :entry_membership, class: Membership do
      user
      association :entity, factory: :entry
      role :previewer
      before(:create) do |membership|
        if !membership.user.accounts.include?(membership.entity.account) &&
           !membership.entity.account.nil?
          create(:membership,
                 user: membership.user,
                 entity: membership.entity.account,
                 role: :member)
        end
      end
    end

    factory :account_membership, class: Membership do
      user
      association :entity, factory: :account
      role :member
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pageflow-13.0.0.beta5 spec/factories/memberships.rb
pageflow-13.0.0.beta4 spec/factories/memberships.rb
pageflow-13.0.0.beta3 spec/factories/memberships.rb
pageflow-13.0.0.beta2 spec/factories/memberships.rb
pageflow-13.0.0.beta1 spec/factories/memberships.rb