discourse/spec/fabricators/topic_fabricator.rb
Martin Brennan 4b2bd4d682
FEATURE: Allow "move to inbox" and "move to archive" for private messages using new bulk topic dropdown (#27236)
This commit re-introduces the "Move to Inbox" and "Move to Archive"
bulk topic actions, which we had in the old modal but had not yet added
to the new "experimental" dropdown, which isn't really experimental at
this point.

Once this is merged we can remove the old modal and only
rely on the new dropdown.
2024-06-03 14:37:28 +10:00

38 lines
1.2 KiB
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) { deleted_at { 1.minute.ago } }
Fabricator(:closed_topic, from: :topic) { closed true }
Fabricator(:banner_topic, from: :topic) { archetype Archetype.banner }
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 do |t|
[
Fabricate.build(:topic_allowed_user, user: t[:user]),
Fabricate.build(:topic_allowed_user, user: t[:recipient] || Fabricate(:user)),
]
end
end
Fabricator(:group_private_message_topic, from: :topic) do
transient :recipient_group
category_id { nil }
title { sequence(:title) { |i| "This is a private message #{i} to a group" } }
archetype "private_message"
topic_allowed_users { |t| [Fabricate.build(:topic_allowed_user, user: t[:user])] }
topic_allowed_groups { |t| [Fabricate.build(:topic_allowed_group, group: t[:recipient_group])] }
end