# frozen_string_literal: true # This file is copied to spec/ when you run 'rails generate rspec:install' ENV["RAILS_ENV"] ||= "test" # To use simplecov, do this: COVERAGE=true rake require "simplecov" SimpleCov.start if ENV["COVERAGE"] require File.expand_path("../../config/environment", __FILE__) require "rspec/rails" require "capybara/rails" require "selenium-webdriver" require "database_cleaner" # 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 } 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 # 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 # Capybara Poltergeist driver requires this # 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 # Run specs in random order to surface order dependencies. If you find an # order dependency and want to debug it, you can fix the order by providing # the seed, which is printed after each run. # --seed 1234 config.order = "random" config.before(:each) do DatabaseCleaner.start end config.after(:each) do DatabaseCleaner.clean end # rspec-rails 3 will no longer automatically infer an example group's spec type # from the file location. You can explicitly opt-in to the feature using this # config option. # To explicitly tag specs without using automatic inference, set the `:type` # metadata manually: # # describe ThingsController, :type => :controller do # # Equivalent to being in spec/controllers # end config.infer_spec_type_from_file_location! end # Driver is configured in spec/support/capybara_shared.rb # to use :poltergeist (PhantomJS) which is more reliable across platforms DatabaseCleaner.strategy = :truncation