mirror of
https://github.com/discourse/discourse.git
synced 2025-05-29 01:31:35 +08:00
DEV: Prefabrication (test optimization) (#7414)
* Introduced fab!, a helper that creates database state for a group It's almost identical to let_it_be, except: 1. It creates a new object for each test by default, 2. You can disable it using PREFABRICATION=0
This commit is contained in:
@ -13,11 +13,11 @@ describe UserAction do
|
||||
|
||||
describe '#stream' do
|
||||
|
||||
let(:public_post) { Fabricate(:post) }
|
||||
fab!(:public_post) { Fabricate(:post) }
|
||||
let(:public_topic) { public_post.topic }
|
||||
let(:user) { Fabricate(:user) }
|
||||
fab!(:user) { Fabricate(:user) }
|
||||
|
||||
let(:private_post) { Fabricate(:post) }
|
||||
fab!(:private_post) { Fabricate(:post) }
|
||||
let(:private_topic) do
|
||||
topic = private_post.topic
|
||||
topic.update_columns(category_id: nil, archetype: Archetype::private_message)
|
||||
@ -155,9 +155,9 @@ describe UserAction do
|
||||
|
||||
describe 'when user likes' do
|
||||
|
||||
let(:post) { Fabricate(:post) }
|
||||
fab!(:post) { Fabricate(:post) }
|
||||
let(:likee) { post.user }
|
||||
let(:liker) { Fabricate(:coding_horror) }
|
||||
fab!(:liker) { Fabricate(:coding_horror) }
|
||||
|
||||
def likee_stream
|
||||
UserAction.stream(user_id: likee.id, guardian: Guardian.new)
|
||||
@ -191,7 +191,7 @@ describe UserAction do
|
||||
end
|
||||
|
||||
context 'private message' do
|
||||
let(:post) { Fabricate(:private_message_post) }
|
||||
fab!(:post) { Fabricate(:private_message_post) }
|
||||
let(:likee) { post.topic.topic_allowed_users.first.user }
|
||||
let(:liker) { post.topic.topic_allowed_users.last.user }
|
||||
|
||||
@ -295,11 +295,11 @@ describe UserAction do
|
||||
|
||||
describe 'secures private messages' do
|
||||
|
||||
let(:user) do
|
||||
fab!(:user) do
|
||||
Fabricate(:user)
|
||||
end
|
||||
|
||||
let(:user2) do
|
||||
fab!(:user2) do
|
||||
Fabricate(:user)
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user