trabajo-afectivo/spec/factories/knowledge_base/category.rb

43 lines
1.1 KiB
Ruby
Raw Normal View History

2019-06-04 03:40:48 +00:00
FactoryBot.define do
factory 'knowledge_base/category', aliases: %i[knowledge_base_category] do
transient do
add_translation { true }
end
2019-06-04 03:40:48 +00:00
knowledge_base { parent&.knowledge_base || create(:knowledge_base) }
category_icon { 'f04b' }
before(:create) do |category|
next if category.translations.present?
category.translations << create('knowledge_base/category/translation', category: category)
end
trait :empty # empty placeholder for better readability
%i[published internal draft archived].each do |state|
trait "containing_#{state}" do
after(:create) do |obj|
create(:knowledge_base_answer, state, parent: obj)
obj.reload
end
end
end
2019-06-04 03:40:48 +00:00
end
factory 'kb_category_with_tree', parent: 'knowledge_base/category' do
after(:create) do |obj|
create(:knowledge_base_category, parent: obj)
level2 = create(:knowledge_base_category, parent: obj)
create_list(:knowledge_base_category, 2, parent: level2)
2019-06-04 03:40:48 +00:00
level3 = level2.children.reload.first
create_list(:knowledge_base_category, 2, parent: level3)
2019-06-04 03:40:48 +00:00
obj.reload
end
end
end