discourse/spec/fabricators/topic_fabricator.rb
David Taylor 66eda8c9df
DEV: Add include_pms option to TopicQuery (#10647)
This is intended for use by plugins which are building their own topic lists, and want to include PMs alongside regular topics (e.g. discourse-assign). It does not get used directly in core.
2020-09-14 12:07:35 +01:00

33 lines
838 B
Ruby

# frozen_string_literal: true
Fabricator(:topic) do
user
title { sequence(:title) { |i| "This is a test topic #{i}" } }
category_id do |attrs|
attrs[:category] ? attrs[:category].id : SiteSetting.uncategorized_category_id
end
end
Fabricator(:deleted_topic, from: :topic) do
deleted_at { 1.minute.ago }
end
Fabricator(:closed_topic, from: :topic) do
closed true
end
Fabricator(:banner_topic, from: :topic) do
archetype Archetype.banner
end
Fabricator(:private_message_topic, from: :topic) do
transient :recipient
category_id { nil }
title { sequence(:title) { |i| "This is a private message #{i}" } }
archetype "private_message"
topic_allowed_users { |t| [
Fabricate.build(:topic_allowed_user, user: t[:user]),
Fabricate.build(:topic_allowed_user, user: t[:recipient] || Fabricate(:user))
]}
end