2019-04-30 10:27:42 +10:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2013-02-05 14:16:51 -05:00
|
|
|
Fabricator(:topic) do
|
|
|
|
user
|
2013-03-11 14:51:24 +01:00
|
|
|
title { sequence(:title) { |i| "This is a test topic #{i}" } }
|
2018-06-05 17:29:17 +10:00
|
|
|
category_id do |attrs|
|
|
|
|
attrs[:category] ? attrs[:category].id : SiteSetting.uncategorized_category_id
|
|
|
|
end
|
2022-02-07 11:23:34 +08:00
|
|
|
|
|
|
|
# Fabrication bypasses PostCreator, for performance reasons, where the counts are updated so we have to handle this manually here.
|
|
|
|
after_save do |topic, _transients|
|
|
|
|
if !topic.private_message?
|
|
|
|
topic.user.user_stat.increment!(:topic_count)
|
|
|
|
end
|
|
|
|
end
|
2013-02-05 14:16:51 -05:00
|
|
|
end
|
|
|
|
|
2013-02-16 14:57:16 -06:00
|
|
|
Fabricator(:deleted_topic, from: :topic) do
|
2020-04-22 20:49:53 +02:00
|
|
|
deleted_at { 1.minute.ago }
|
2013-02-16 14:57:16 -06:00
|
|
|
end
|
|
|
|
|
2016-09-09 12:15:56 -04:00
|
|
|
Fabricator(:closed_topic, from: :topic) do
|
|
|
|
closed true
|
|
|
|
end
|
|
|
|
|
2014-06-16 19:21:21 +02:00
|
|
|
Fabricator(:banner_topic, from: :topic) do
|
|
|
|
archetype Archetype.banner
|
|
|
|
end
|
|
|
|
|
2013-02-25 19:42:20 +03:00
|
|
|
Fabricator(:private_message_topic, from: :topic) do
|
2020-09-14 12:07:35 +01:00
|
|
|
transient :recipient
|
2014-09-11 17:39:20 +10:00
|
|
|
category_id { nil }
|
2013-03-11 14:51:24 +01:00
|
|
|
title { sequence(:title) { |i| "This is a private message #{i}" } }
|
2013-02-05 14:16:51 -05:00
|
|
|
archetype "private_message"
|
2013-02-25 19:42:20 +03:00
|
|
|
topic_allowed_users { |t| [
|
2017-04-27 11:53:53 +08:00
|
|
|
Fabricate.build(:topic_allowed_user, user: t[:user]),
|
2020-09-14 12:07:35 +01:00
|
|
|
Fabricate.build(:topic_allowed_user, user: t[:recipient] || Fabricate(:user))
|
2013-02-05 14:16:51 -05:00
|
|
|
]}
|
|
|
|
end
|