require 'simplecov' require 'support/utilities' require 'active_record' require 'jam_db' require 'spec_db' require 'uses_temp_files' require 'resque_spec' require 'resque_failed_job_mailer' # recreate test database and migrate it SpecDb::recreate_database # initialize ActiveRecord's db connection ActiveRecord::Base.establish_connection(YAML::load(File.open('config/database.yml'))["test"]) require 'jam_ruby' require 'factory_girl' require 'rubygems' require 'spork' require 'database_cleaner' require 'factories' # uncomment this to see active record logs # ActiveRecord::Base.logger = Logger.new(STDOUT) if defined?(ActiveRecord::Base) include JamRuby # manually register observers ActiveRecord::Base.add_observer InvitedUserObserver.instance ActiveRecord::Base.add_observer UserObserver.instance ActiveRecord::Base.add_observer FeedbackObserver.instance ActiveRecord::Base.add_observer RecordedTrackObserver.instance RecordedTrack.observers.disable :all # only a few tests want this observer active # put ActionMailer into test mode ActionMailer::Base.delivery_method = :test # set up carrierwave to use file (instead of say, fog) for testing CarrierWave.configure do |config| config.storage = :file config.enable_processing = false end #uncomment the following line to use spork with the debugger #require 'spork/ext/ruby-debug' Spork.prefork do # Loading more in this block will cause your tests to run faster. However, # if you change any configuration or code from libraries loaded here, you'll # need to restart spork for it take effect. # This file is copied to spec/ when you run 'rails generate rspec:install' #ENV["RAILS_ENV"] ||= 'test' #require File.expand_path("../../config/environment", __FILE__) require 'rspec/autorun' #require 'rspec/rails' # This file was generated by the `rspec --init` command. Conventionally, all # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`. # Require this file using `require "spec_helper"` to ensure that it is only # loaded once. # # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration RSpec.configure do |config| config.color_enabled = true config.treat_symbols_as_metadata_keys_with_true_values = true config.run_all_when_everything_filtered = true config.filter_run :focus # you can mark a test as slow so that developers won't commonly hit it, but build server will http://blog.davidchelimsky.net/2010/06/14/filtering-examples-in-rspec-2/ config.filter_run_excluding slow: true unless run_tests? :slow config.filter_run_excluding aws: true unless run_tests? :aws config.before(:suite) do DatabaseCleaner.strategy = :truncation, {:except => %w[instruments genres icecast_server_groups] } DatabaseCleaner.clean_with(:truncation, {:except => %w[instruments genres icecast_server_groups] }) end config.before(:each) do stub_const("APP_CONFIG", app_config) DatabaseCleaner.start end config.after(:each) do DatabaseCleaner.clean end config.after(:suite) do wipe_s3_test_bucket end # 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 # 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' end end Spork.each_run do # This code will be run each time you run your specs. end