From c98ba57dcf030417ac111a45baee006f8e333fb2 Mon Sep 17 00:00:00 2001 From: Erin Fahy <efahy@stanford.edu> Date: Fri, 29 Jan 2016 16:12:15 -0800 Subject: [PATCH] installs factory_girl, capybara, and database_cleaner for testing --- Gemfile | 3 +++ Gemfile.lock | 19 +++++++++++++++++++ spec/rails_helper.rb | 25 ++++++++++++++++++++++++- 3 files changed, 46 insertions(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 634b51a..26e8bb5 100644 --- a/Gemfile +++ b/Gemfile @@ -27,6 +27,9 @@ group :development, :test do gem 'byebug' gem 'rspec-rails', '~> 3.0' + gem 'factory_girl_rails' + gem 'capybara' + gem 'database_cleaner' end group :test do diff --git a/Gemfile.lock b/Gemfile.lock index ae8911e..408a122 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -36,11 +36,19 @@ GEM minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) + addressable (2.4.0) arel (6.0.3) binding_of_caller (0.7.2) debug_inspector (>= 0.0.1) builder (3.2.2) byebug (8.2.1) + capybara (2.6.2) + addressable + mime-types (>= 1.16) + nokogiri (>= 1.3.3) + rack (>= 1.0.0) + rack-test (>= 0.5.4) + xpath (~> 2.0) concurrent-ruby (1.0.0) coveralls (0.8.10) json (~> 1.8) @@ -49,12 +57,18 @@ GEM term-ansicolor (~> 1.3) thor (~> 0.19.1) tins (~> 1.6.0) + database_cleaner (1.5.1) debug_inspector (0.0.2) diff-lcs (1.2.5) docile (1.1.5) domain_name (0.5.20160128) unf (>= 0.0.5, < 1.0.0) erubis (2.7.0) + factory_girl (4.5.0) + activesupport (>= 3.0.0) + factory_girl_rails (4.5.0) + factory_girl (~> 4.5.0) + railties (>= 3.0.0) globalid (0.3.6) activesupport (>= 4.1.0) http-cookie (1.0.2) @@ -157,13 +171,18 @@ GEM binding_of_caller (>= 0.7.2) railties (>= 4.0) sprockets-rails (>= 2.0, < 4.0) + xpath (2.0.0) + nokogiri (~> 1.3) PLATFORMS ruby DEPENDENCIES byebug + capybara coveralls + database_cleaner + factory_girl_rails jbuilder (~> 2.0) rails (= 4.2.5.1) rspec-rails (~> 3.0) diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 611367b..02178e6 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -5,6 +5,7 @@ require File.expand_path('../../config/environment', __FILE__) abort("The Rails environment is running in production mode!") if Rails.env.production? require 'spec_helper' require 'rspec/rails' +require 'capybara/rails' # Add additional requires below this line. Rails is not loaded until this point! require 'coveralls' Coveralls.wear! @@ -29,13 +30,14 @@ Coveralls.wear! ActiveRecord::Migration.maintain_test_schema! RSpec.configure do |config| + config.include FactoryGirl::Syntax::Methods # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures config.fixture_path = "#{::Rails.root}/spec/fixtures" # 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 @@ -56,4 +58,25 @@ RSpec.configure do |config| config.filter_rails_from_backtrace! # arbitrary gems may also be filtered via: # config.filter_gems_from_backtrace("gem name") + + # configure database_cleaner + 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 -- GitLab