diff options
author | Gabriel Mazetto <gabriel@gitlab.com> | 2016-09-25 19:14:05 -0300 |
---|---|---|
committer | Gabriel Mazetto <gabriel@gitlab.com> | 2016-09-26 16:22:27 -0300 |
commit | 300b7763080765c6d62d2aaa63b99e8eb689f065 (patch) | |
tree | 4686dbf666c058e852b838fd8ee6846adbffe661 | |
parent | dd1341ebbe0cc9a01dad56ab241671d434c47bb8 (diff) | |
download | gitlab-ce-specs/database_rewind.tar.gz |
Use Database rewinder for specs with js: truespecs/database_rewind
-rw-r--r-- | Gemfile | 1 | ||||
-rw-r--r-- | Gemfile.lock | 2 | ||||
-rw-r--r-- | spec/support/db_cleaner.rb | 24 |
3 files changed, 15 insertions, 12 deletions
@@ -271,6 +271,7 @@ group :development, :test do gem 'fuubar', '~> 2.0.0' gem 'database_cleaner', '~> 1.5.0' + gem 'database_rewinder', '~> 0.6.4' gem 'factory_girl_rails', '~> 4.6.0' gem 'rspec-rails', '~> 3.5.0' gem 'rspec-retry', '~> 0.4.5' diff --git a/Gemfile.lock b/Gemfile.lock index 396e692847b..5480877f641 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -155,6 +155,7 @@ GEM railties (>= 3.1.0) daemons (1.2.3) database_cleaner (1.5.3) + database_rewinder (0.6.4) debug_inspector (0.0.2) debugger-ruby_core_source (1.3.8) default_value_for (3.0.2) @@ -835,6 +836,7 @@ DEPENDENCIES creole (~> 0.5.0) d3_rails (~> 3.5.0) database_cleaner (~> 1.5.0) + database_rewinder (~> 0.6.4) default_value_for (~> 3.0.0) devise (~> 4.0) devise-two-factor (~> 3.0.0) diff --git a/spec/support/db_cleaner.rb b/spec/support/db_cleaner.rb index ac38e31b77e..33fa2e3fd6f 100644 --- a/spec/support/db_cleaner.rb +++ b/spec/support/db_cleaner.rb @@ -1,21 +1,21 @@ RSpec.configure do |config| config.before(:suite) do - DatabaseCleaner.clean_with(:truncation) - end - - config.before(:each) do DatabaseCleaner.strategy = :transaction + DatabaseRewinder.clean_all end - config.before(:each, js: true) do - DatabaseCleaner.strategy = :truncation - end - - config.before(:each) do - DatabaseCleaner.start + config.before(:each) do |example| + unless example.metadata[:js] + DatabaseCleaner.start + end end - config.append_after(:each) do - DatabaseCleaner.clean + config.append_after(:each) do |example| + if example.metadata[:js] + DatabaseRewinder.clean + else + DatabaseCleaner.clean + DatabaseRewinder.cleaners.each {|c| c.send(:reset) } + end end end |