Sha256: 9a195c8d7b2f9b6f9376920845199fce37324f2a44a6fa6b16b7919fa19a6db8
Contents?: true
Size: 1.88 KB
Versions: 56
Compression:
Stored size: 1.88 KB
Contents
# frozen_string_literal: true FactoryBot.define do factory :alchemy_page, class: "Alchemy::Page" do language do @cached_attributes[:parent]&.language || Alchemy::Language.default || FactoryBot.create(:alchemy_language) end sequence(:name) { |n| "A Page #{n}" } page_layout { "standard" } parent do Alchemy::Page.find_by(language_root: true, language: language) || FactoryBot.create(:alchemy_page, :language_root, language: language) end # This speeds up creating of pages dramatically. # Pass autogenerate_elements: true to generate elements autogenerate_elements { false } trait :language_root do name { language&.frontpage_name || "Intro" } page_layout { language&.page_layout || "index" } language_root { true } public_on { Time.current } parent { nil } end trait :public do sequence(:name) { |n| "A Public Page #{n}" } transient do public_on { Time.current } public_until { nil } end after(:build) do |page, evaluator| page.build_public_version( public_on: evaluator.public_on, public_until: evaluator.public_until ) end after(:create) do |page| if page.autogenerate_elements page.definition["autogenerate"].each do |name| create( :alchemy_element, name: name, page_version: page.public_version, autogenerate_ingredients: true ) end end end end trait :layoutpage do parent { nil } layoutpage { true } page_layout { "footer" } end trait :restricted do name { "Restricted page" } restricted { true } end trait :locked do locked_at { Time.current } locked_by { SecureRandom.random_number(1_000_000_000) } end end end
Version data entries
56 entries across 56 versions & 1 rubygems