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:
Daniel Waterworth
2019-05-07 03:12:20 +00:00
committed by Sam
parent 329969ea20
commit e219588142
258 changed files with 1402 additions and 1364 deletions

View File

@@ -123,10 +123,10 @@ describe IncomingLinksReport do
describe 'top_referrers' do
subject(:top_referrers) { IncomingLinksReport.find('top_referrers').as_json }
let(:amy) { Fabricate(:user, username: 'amy') }
let(:bob) { Fabricate(:user, username: 'bob') }
let(:post1) { Fabricate(:post) }
let(:post2) { Fabricate(:post) }
fab!(:amy) { Fabricate(:user, username: 'amy') }
fab!(:bob) { Fabricate(:user, username: 'bob') }
fab!(:post1) { Fabricate(:post) }
fab!(:post2) { Fabricate(:post) }
let(:topic1) { post1.topic }
let(:topic2) { post2.topic }