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

@ -4,7 +4,7 @@ require "rails_helper"
describe ExportCsvController do
context "while logged in as normal user" do
let(:user) { Fabricate(:user) }
fab!(:user) { Fabricate(:user) }
before { sign_in(user) }
describe "#export_entity" do
@ -43,7 +43,7 @@ describe ExportCsvController do
end
context "while logged in as an admin" do
let(:admin) { Fabricate(:admin) }
fab!(:admin) { Fabricate(:admin) }
before { sign_in(admin) }
describe "#export_entity" do
@ -80,7 +80,7 @@ describe ExportCsvController do
end
context 'while logged in as a moderator' do
let(:moderator) { Fabricate(:moderator) }
fab!(:moderator) { Fabricate(:moderator) }
before { sign_in(moderator) }