111 lines
3.9 KiB
Ruby
111 lines
3.9 KiB
Ruby
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"])
|
|
|
|
# so jam_ruby models that use APP_CONFIG in metadata will load. this is later stubbed pre test run
|
|
APP_CONFIG = app_config
|
|
|
|
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 jamcompany jamisp geoipblocks geoipisp geoiplocations cities regions countries] }
|
|
DatabaseCleaner.clean_with(:truncation, {:except => %w[instruments genres icecast_server_groups jamcompany jamisp geoipblocks geoipisp geoiplocations cities regions countries] })
|
|
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
|