diff --git a/Gemfile b/Gemfile index 5dfb2f7c5..c75dda0b7 100644 --- a/Gemfile +++ b/Gemfile @@ -50,3 +50,7 @@ group :development, :test do gem 'factory_girl_rails' end +group :test do + gem 'database_cleaner' +end + diff --git a/Gemfile.lock b/Gemfile.lock index 0b070914b..6dfac43e4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -66,6 +66,7 @@ GEM execjs coffee-script-source (1.9.1.1) columnize (0.9.0) + database_cleaner (1.4.1) debug_inspector (0.0.2) devise (3.5.1) bcrypt (~> 3.0) @@ -203,6 +204,7 @@ DEPENDENCIES byebug capybara coffee-rails (~> 4.1.0) + database_cleaner devise factory_girl_rails foundation-rails diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 7ad54cc81..7ff23a112 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -4,6 +4,19 @@ RSpec.configure do |config| config.run_all_when_everything_filtered = true config.include FactoryGirl::Syntax::Methods + config.before(:suite) do + DatabaseCleaner.clean_with :truncation + DatabaseCleaner.strategy = :transaction + end + + config.before(:each) do + DatabaseCleaner.start + end + + config.after(:each) do + DatabaseCleaner.clean + end + # Allows RSpec to persist some state between runs in order to support # the `--only-failures` and `--next-failure` CLI options. config.example_status_persistence_file_path = "spec/examples.txt"