diff options
| author | mo khan <mo@mokhan.ca> | 2015-03-04 09:40:03 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2015-03-04 09:40:03 -0700 |
| commit | 0fb2802e11714191c872204f27187a418eb6847b (patch) | |
| tree | 32751c7632a4a12f36a80d1b724ef5f9036a433d | |
| parent | fde3785d7a5d35497481f76f9cec2aa4a835df29 (diff) | |
add database cleaner.
| -rw-r--r-- | Gemfile | 1 | ||||
| -rw-r--r-- | Gemfile.lock | 2 | ||||
| -rw-r--r-- | spec/rails_helper.rb | 2 | ||||
| -rw-r--r-- | spec/support/database_cleaner.rb | 21 |
4 files changed, 25 insertions, 1 deletions
@@ -49,6 +49,7 @@ group :development, :test do gem 'lol_dba' gem 'rspec-rails' gem 'factory_girl_rails' + gem 'database_cleaner' # fake agent gem 'listen' diff --git a/Gemfile.lock b/Gemfile.lock index 3feef4e..a5c1152 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -60,6 +60,7 @@ GEM execjs coffee-script-source (1.9.1) columnize (0.9.0) + database_cleaner (1.4.0) debug_inspector (0.0.2) debugger-linecache (1.2.0) diff-lcs (1.2.5) @@ -239,6 +240,7 @@ DEPENDENCIES byebug chartkick coffee-rails (~> 4.1.0) + database_cleaner dotenv-rails factory_girl_rails foreman diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index b4d9ec7..d93c9ee 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -31,7 +31,7 @@ RSpec.configure do |config| # If you're not using ActiveRecord, or you'd prefer not to run each of your # examples within a transaction, remove the following line or assign false # instead of true. - config.use_transactional_fixtures = true + config.use_transactional_fixtures = false # RSpec Rails can automatically mix in different behaviours to your tests # based on their file location, for example enabling you to call `get` and diff --git a/spec/support/database_cleaner.rb b/spec/support/database_cleaner.rb new file mode 100644 index 0000000..5083a47 --- /dev/null +++ b/spec/support/database_cleaner.rb @@ -0,0 +1,21 @@ +Rspec.configure do |config| + config.before(:suite) do + DatabaseCleaner.clean_with(:truncation) + end + + config.before(:each) do + DatabaseCleaner.strategy = :transaction + end + + config.before(:each, js: true) do + DatabaseCleaner.strategy = :truncation + end + + config.before(:each) do + DatabaseCleaner.start + end + + config.after(:each) do + DatabaseCleaner.clean + end +end |
