Sha256: b79abc98b905d3425ef0263a7fbbb5ee7ef7cf4dc70fa0b981a1e891578a1dd7

Contents?: true

Size: 1.29 KB

Versions: 4

Compression:

Stored size: 1.29 KB

Contents

require 'factory_girl'
require 'alchemy/test_support/factories/language_factory'

FactoryGirl.define do
  factory :alchemy_page, class: 'Alchemy::Page' do
    language { Alchemy::Language.default || FactoryGirl.create(:alchemy_language) }
    sequence(:name) { |n| "A Page #{n}" }
    page_layout "standard"

    parent_id do
      (Alchemy::Page.find_by(language_root: true) ||
        FactoryGirl.create(:alchemy_page, :language_root)).id
    end

    # This speeds up creating of pages dramatically.
    # Pass do_not_autogenerate: false to generate elements
    do_not_autogenerate true

    trait :language_root do
      name 'Startseite'
      page_layout { language.page_layout }
      language_root true
      public true
      parent_id { Alchemy::Page.root.id }
    end

    trait :public do
      sequence(:name) { |n| "A Public Page #{n}" }
      public true
    end

    trait :system do
      name "Systempage"
      parent_id { Alchemy::Page.root.id }
      language_root false
      page_layout nil
      language nil
    end

    trait :layoutpage do
      name "Footer"
      parent_id { Alchemy::Page.find_or_create_layout_root_for(Alchemy::Language.current.id).id }
      page_layout "footer"
    end

    trait :restricted do
      name "Restricted page"
      restricted true
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
alchemy_cms-3.3.3 lib/alchemy/test_support/factories/page_factory.rb
alchemy_cms-3.3.2 lib/alchemy/test_support/factories/page_factory.rb
alchemy_cms-3.3.1 lib/alchemy/test_support/factories/page_factory.rb
alchemy_cms-3.3.0 lib/alchemy/test_support/factories/page_factory.rb