if ENV["COVERAGE"] # Run Coverage report require 'simplecov' SimpleCov.start do add_group 'Controllers', 'app/controllers' add_group 'Helpers', 'app/helpers' add_group 'Mailers', 'app/mailers' add_group 'Models', 'app/models' add_group 'Views', 'app/views' add_group 'Jobs', 'app/jobs' add_group 'Libraries', 'lib' end end # This file is copied to ~/spec when you run 'ruby script/generate rspec' # from the project root directory. ENV["RAILS_ENV"] ||= 'test' begin require File.expand_path("../dummy/config/environment", __FILE__) rescue LoadError puts "Could not load dummy application. Please ensure you have run `bundle exec rake test_app`" end require 'rspec/rails' require 'database_cleaner' require 'ffaker' Dir["./spec/support/**/*.rb"].sort.each { |f| require f } if ENV["CHECK_TRANSLATIONS"] require "spree/testing_support/i18n" end require 'spree/testing_support/factories' require 'spree/testing_support/preferences' require 'spree/testing_support/shoulda_matcher_configuration' RSpec.configure do |config| config.color = true config.fail_fast = ENV['FAIL_FAST'] || false config.fixture_path = File.join(File.expand_path(File.dirname(__FILE__)), "fixtures") config.infer_spec_type_from_file_location! config.mock_with :rspec config.raise_errors_for_deprecations! # If you're not using ActiveRecord, or you'd prefer not to run each of your # examples within a transaction, comment the following line or assign false # instead of true. config.use_transactional_fixtures = true config.before :each do Rails.cache.clear reset_spree_preferences end config.include FactoryGirl::Syntax::Methods config.include Spree::TestingSupport::Preferences # Clean out the database state before the tests run config.before(:suite) do DatabaseCleaner.clean_with(:truncation) DatabaseCleaner.strategy = :transaction end # Wrap all db isolated tests in a transaction config.around(db: :isolate) do |example| DatabaseCleaner.cleaning(&example) end config.around do |example| Timeout.timeout(30, &example) end end