From 0496ed23e5a3564313e6c7521f0c234a38763979 Mon Sep 17 00:00:00 2001 From: siddhantbajaj Date: Wed, 14 Jun 2017 02:46:39 +0530 Subject: [PATCH] Improves test speed --- spec/support/database_cleaner.rb | 12 +++++++++++- spec/support/factory_girl.rb | 12 +++++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/spec/support/database_cleaner.rb b/spec/support/database_cleaner.rb index 3e6c8404..25bf528a 100644 --- a/spec/support/database_cleaner.rb +++ b/spec/support/database_cleaner.rb @@ -1,6 +1,16 @@ RSpec.configure do |config| - config.before(:each) do + config.before(:suite) do DatabaseCleaner.clean_with(:truncation) Rails.application.load_seed end + + config.before(:each) do |example| + DatabaseCleaner.strategy = example.metadata[:js] == true ? :truncation : :transaction + DatabaseCleaner.start + end + + config.after(:each) do |example| + DatabaseCleaner.clean + Rails.application.load_seed if example.metadata[:js] == true + end end diff --git a/spec/support/factory_girl.rb b/spec/support/factory_girl.rb index c46a5105..d745aece 100644 --- a/spec/support/factory_girl.rb +++ b/spec/support/factory_girl.rb @@ -4,9 +4,15 @@ RSpec.configure do |config| config.before(:suite) do if ENV['OSEM_FACTORY_LINT'] != 'false' - mock_commercial_request - FactoryGirl.lint + DatabaseCleaner.strategy = :transaction + DatabaseCleaner.clean_with(:truncation) + begin + DatabaseCleaner.start + mock_commercial_request + FactoryGirl.lint + ensure + DatabaseCleaner.clean + end end end - end