summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Mazetto <gabriel@gitlab.com>2016-09-25 19:14:05 -0300
committerGabriel Mazetto <gabriel@gitlab.com>2016-09-26 16:22:27 -0300
commit300b7763080765c6d62d2aaa63b99e8eb689f065 (patch)
tree4686dbf666c058e852b838fd8ee6846adbffe661
parentdd1341ebbe0cc9a01dad56ab241671d434c47bb8 (diff)
downloadgitlab-ce-specs/database_rewind.tar.gz
Use Database rewinder for specs with js: truespecs/database_rewind
-rw-r--r--Gemfile1
-rw-r--r--Gemfile.lock2
-rw-r--r--spec/support/db_cleaner.rb24
3 files changed, 15 insertions, 12 deletions
diff --git a/Gemfile b/Gemfile
index ff2ba1598cc..8bcd0c12089 100644
--- a/Gemfile
+++ b/Gemfile
@@ -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