Sha256: 33ae15ba6317ac3f712ad82048b35c92c00aca921b23d1e2aa4d247f3c8395cb

Contents?: true

Size: 984 Bytes

Versions: 9

Compression:

Stored size: 984 Bytes

Contents

module Pageflow
  FactoryGirl.define do
    sequence :title do |n|
      "Entry #{n}"
    end

    factory :entry, :class => Entry do
      title

      account

      after(:build) do |entry|
        entry.theming ||= entry.account.default_theming
      end

      # inline membership creation

      transient do
        with_member nil
      end

      after(:create) do |entry, evaluator|
        create(:membership, :entry => entry, :user => evaluator.with_member) if evaluator.with_member
      end

      trait :published do
        transient do
          published_revision_attributes({})
        end

        after(:create) do |entry, evaluator|
          create(:revision, :published, evaluator.published_revision_attributes.merge(entry: entry))
        end
      end

      trait :published_with_password do
        after(:create) do |entry, evaluator|
          create(:revision, :published, entry: entry, password_protected: true)
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
pageflow-0.11.4 spec/factories/entries.rb
pageflow-0.11.3 spec/factories/entries.rb
pageflow-0.11.2 spec/factories/entries.rb
pageflow-0.11.1 spec/factories/entries.rb
pageflow-0.11.0 spec/factories/entries.rb
pageflow-0.10.0 spec/factories/entries.rb
pageflow-0.9.2 spec/factories/entries.rb
pageflow-0.9.1 spec/factories/entries.rb
pageflow-0.9.0 spec/factories/entries.rb