mirror of
https://github.com/discourse/discourse.git
synced 2024-11-27 21:43:45 +08:00
4ea21fa2d0
This change both speeds up specs (less strings to allocate) and helps catch cases where methods in Discourse are mutating inputs. Overall we will be migrating everything to use #frozen_string_literal: true it will take a while, but this is the first and safest move in this direction
32 lines
799 B
Ruby
32 lines
799 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 Time.now
|
|
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
|
|
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: Fabricate(:coding_horror))
|
|
]}
|
|
end
|