Skip to content

Instantly share code, notes, and snippets.

@philm
Last active December 11, 2015 05:38
Show Gist options
  • Select an option

  • Save philm/4553019 to your computer and use it in GitHub Desktop.

Select an option

Save philm/4553019 to your computer and use it in GitHub Desktop.

Revisions

  1. philm revised this gist Apr 24, 2014. 1 changed file with 64 additions and 78 deletions.
    142 changes: 64 additions & 78 deletions spec_helper.rb
    Original file line number Diff line number Diff line change
    @@ -1,88 +1,74 @@
    require 'rubygems'
    require 'spork'

    Spork.prefork do

    begin
    Spork.trap_method(Rails::Application, :reload_routes!)
    Spork.trap_method(Rails::Application::RoutesReloader, :reload!)
    rescue
    ENV["RAILS_ENV"] ||= 'test'
    require File.expand_path("../../config/environment", __FILE__)
    require 'rspec/rails'
    require 'capybara/rspec'
    require 'capybara/rails'
    require 'database_cleaner'
    require 'email_spec'
    # uncomment if you're using Sidekiq
    # require 'sidekiq/testing'

    # Requires supporting ruby files with custom matchers and macros, etc,
    # in spec/support/ and its subdirectories.
    Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

    Capybara.default_selector = :css

    # quieter log output = faster i/o
    Rails.logger.level = 4

    RSpec.configure do |config|
    # == Mock Framework
    #
    # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
    #
    # config.mock_with :mocha
    # config.mock_with :flexmock
    # config.mock_with :rr
    config.mock_with :rspec

    # 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 = false

    # If true, the base class of anonymous controllers will be inferred
    # automatically. This will be the default behavior in future versions of
    # rspec-rails.
    config.infer_base_class_for_anonymous_controllers = false

    config.include Capybara::DSL
    config.include FactoryGirl::Syntax::Methods
    config.include EmailSpec::Helpers
    config.include EmailSpec::Matchers

    config.before(:suite) do
    DatabaseCleaner.clean_with(:truncation)
    end

    ENV["RAILS_ENV"] ||= 'test'
    require File.expand_path("../../config/environment", __FILE__)
    require 'rspec/rails'
    require 'capybara/rspec'
    require 'capybara/rails'
    require 'database_cleaner'
    require 'email_spec'
    # uncomment if you're using Sidekiq
    # require 'sidekiq/testing'

    # Requires supporting ruby files with custom matchers and macros, etc,
    # in spec/support/ and its subdirectories.
    Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

    Capybara.default_selector = :css

    # quieter log output = faster i/o
    Rails.logger.level = 4

    RSpec.configure do |config|
    # == Mock Framework
    #
    # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
    #
    # config.mock_with :mocha
    # config.mock_with :flexmock
    # config.mock_with :rr
    config.mock_with :rspec

    # 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 = false

    # If true, the base class of anonymous controllers will be inferred
    # automatically. This will be the default behavior in future versions of
    # rspec-rails.
    config.infer_base_class_for_anonymous_controllers = false

    config.include Capybara::DSL
    config.include FactoryGirl::Syntax::Methods
    config.include EmailSpec::Helpers
    config.include EmailSpec::Matchers

    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.strategy = :transaction
    end

    config.before(:each) do
    DatabaseCleaner.start
    end
    config.before(:each, :js => true) do
    DatabaseCleaner.strategy = :truncation
    end

    config.after(:each) do
    DatabaseCleaner.clean
    Capybara.reset_sessions!
    end
    config.before(:each) do
    DatabaseCleaner.start
    end

    config.after(:each) do
    DatabaseCleaner.clean
    Capybara.reset_sessions!
    end
    end

    Spork.each_run do

    # disable all observers
    ActiveRecord::Base.observers.disable :all

    end
    # uncomment if you'd like to disable observers because you
    # will be testing them in isolation using their specs
    # ActiveRecord::Base.observers.disable :all
  2. philm revised this gist Mar 5, 2013. 1 changed file with 1 addition and 3 deletions.
    4 changes: 1 addition & 3 deletions spec_helper.rb
    Original file line number Diff line number Diff line change
    @@ -14,7 +14,6 @@
    require 'rspec/rails'
    require 'capybara/rspec'
    require 'capybara/rails'
    require 'capybara/poltergeist'
    require 'database_cleaner'
    require 'email_spec'
    # uncomment if you're using Sidekiq
    @@ -25,9 +24,8 @@
    Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

    Capybara.default_selector = :css
    Capybara.javascript_driver = :poltergeist
    Capybara.default_wait_time = 1

    # quieter log output = faster i/o
    Rails.logger.level = 4

    RSpec.configure do |config|
  3. philm revised this gist Feb 9, 2013. 1 changed file with 0 additions and 11 deletions.
    11 changes: 0 additions & 11 deletions spec_helper.rb
    Original file line number Diff line number Diff line change
    @@ -84,17 +84,6 @@

    Spork.each_run do

    # see "Transactions and database setup" on https://github.com/jnicklas/capybara
    class ActiveRecord::Base
    mattr_accessor :shared_connection
    @@shared_connection = nil

    def self.connection
    @@shared_connection || retrieve_connection
    end
    end
    ActiveRecord::Base.shared_connection = ActiveRecord::Base.connection

    # disable all observers
    ActiveRecord::Base.observers.disable :all

  4. philm revised this gist Feb 9, 2013. 1 changed file with 16 additions and 1 deletion.
    17 changes: 16 additions & 1 deletion spec_helper.rb
    Original file line number Diff line number Diff line change
    @@ -15,6 +15,7 @@
    require 'capybara/rspec'
    require 'capybara/rails'
    require 'capybara/poltergeist'
    require 'database_cleaner'
    require 'email_spec'
    # uncomment if you're using Sidekiq
    # require 'sidekiq/testing'
    @@ -45,7 +46,7 @@
    # 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

    # If true, the base class of anonymous controllers will be inferred
    # automatically. This will be the default behavior in future versions of
    @@ -57,10 +58,24 @@
    config.include EmailSpec::Helpers
    config.include EmailSpec::Matchers

    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
    Capybara.reset_sessions!
    end
    end
  5. philm created this gist Jan 17, 2013.
    86 changes: 86 additions & 0 deletions spec_helper.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,86 @@
    require 'rubygems'
    require 'spork'

    Spork.prefork do

    begin
    Spork.trap_method(Rails::Application, :reload_routes!)
    Spork.trap_method(Rails::Application::RoutesReloader, :reload!)
    rescue
    end

    ENV["RAILS_ENV"] ||= 'test'
    require File.expand_path("../../config/environment", __FILE__)
    require 'rspec/rails'
    require 'capybara/rspec'
    require 'capybara/rails'
    require 'capybara/poltergeist'
    require 'email_spec'
    # uncomment if you're using Sidekiq
    # require 'sidekiq/testing'

    # Requires supporting ruby files with custom matchers and macros, etc,
    # in spec/support/ and its subdirectories.
    Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

    Capybara.default_selector = :css
    Capybara.javascript_driver = :poltergeist
    Capybara.default_wait_time = 1

    Rails.logger.level = 4

    RSpec.configure do |config|
    # == Mock Framework
    #
    # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
    #
    # config.mock_with :mocha
    # config.mock_with :flexmock
    # config.mock_with :rr
    config.mock_with :rspec

    # 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

    # If true, the base class of anonymous controllers will be inferred
    # automatically. This will be the default behavior in future versions of
    # rspec-rails.
    config.infer_base_class_for_anonymous_controllers = false

    config.include Capybara::DSL
    config.include FactoryGirl::Syntax::Methods
    config.include EmailSpec::Helpers
    config.include EmailSpec::Matchers

    config.before(:each) do
    end

    config.after(:each) do
    Capybara.reset_sessions!
    end
    end

    end

    Spork.each_run do

    # see "Transactions and database setup" on https://github.com/jnicklas/capybara
    class ActiveRecord::Base
    mattr_accessor :shared_connection
    @@shared_connection = nil

    def self.connection
    @@shared_connection || retrieve_connection
    end
    end
    ActiveRecord::Base.shared_connection = ActiveRecord::Base.connection

    # disable all observers
    ActiveRecord::Base.observers.disable :all

    end