# == Schema Information
#
# Table name: templates
#
# id :integer not null, primary key
# archived :boolean
# customization_of :integer
# description :text
# is_default :boolean
# links :text
# locale :string
# published :boolean
# title :string
# version :integer
# visibility :integer
# created_at :datetime
# updated_at :datetime
# family_id :integer
# org_id :integer
#
# Indexes
#
# index_templates_on_family_id (family_id)
# index_templates_on_family_id_and_version (family_id,version) UNIQUE
# index_templates_on_org_id (org_id)
# template_organisation_dmptemplate_index (org_id,family_id)
#
# Foreign Keys
#
# fk_rails_... (org_id => orgs.id)
#
FactoryBot.define do
factory :template do
org
title { Faker::Lorem.sentence }
description { Faker::Lorem.paragraph }
locale "en_GB"
is_default false
published false
archived false
sequence(:version)
family_id { rand(10_000) }
trait :publicly_visible do
after(:create) do |template|
template.update(visibility: Template.visibilities[:publicly_visible])
end
end
trait :organisationally_visible do
after(:create) do |template|
template.update(visibility: Template.visibilities[:organisationally_visible])
end
end
trait :archived do
archived true
end
trait :default do
is_default true
end
trait :published do
published true
end
trait :unpublished do
published false
end
transient do
phases 0
end
after(:create) do |template, evaluator|
create_list(:phase, evaluator.phases, template: template)
end
end
end