Bunch of changes inspired by r00k
This commit is contained in:
43
scripts/ruby/rails/spec_helper.rb
Normal file
43
scripts/ruby/rails/spec_helper.rb
Normal file
@@ -0,0 +1,43 @@
|
||||
# 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/rails'
|
||||
require 'rspec/autorun'
|
||||
|
||||
# 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 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
|
||||
clean_mongodb
|
||||
Resque.reset!
|
||||
end
|
||||
|
||||
def clean_mongodb
|
||||
Mongoid::Sessions.default.collections.select {|c| c.name !~ /system/}.each {|c| c.find.remove_all}
|
||||
end
|
||||
|
||||
# TODO add additional functionality defined in test_helper as it is needed. e.g.
|
||||
# factory_girl
|
||||
end
|
||||
|
||||
53
scripts/ruby/rails/spec_helper_lite.rb
Normal file
53
scripts/ruby/rails/spec_helper_lite.rb
Normal file
@@ -0,0 +1,53 @@
|
||||
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
||||
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
||||
|
||||
require 'rspec'
|
||||
require 'mongoid'
|
||||
require 'pry'
|
||||
|
||||
# Requires supporting ruby files with custom matchers and macros, etc,
|
||||
# in spec/support/ and its subdirectories.
|
||||
require 'support/mongoid'
|
||||
|
||||
# NOTE: make sure to change this for other projects
|
||||
Mongoid::Config.connect_to('campusperks_test')
|
||||
|
||||
RSpec.configure do |config|
|
||||
# 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
|
||||
clean_mongodb
|
||||
end
|
||||
|
||||
def clean_mongodb
|
||||
Mongoid::Sessions.default.collections.select {|c| c.name !~ /system/}.each {|c| c.find.remove_all}
|
||||
end
|
||||
end
|
||||
|
||||
# Stubs out a module so that Rails doesn't have to be loaded when testing classes that
|
||||
# make use of Rails functionality in production.
|
||||
#
|
||||
# An example usage:
|
||||
#
|
||||
# require_relative '../spec_helper_lite'
|
||||
# stub_module 'ActiveModel::Conversion'
|
||||
# stub_module 'ActiveModel::Naming'
|
||||
#
|
||||
# describe Post do
|
||||
# ...
|
||||
# end
|
||||
#
|
||||
def stub_module(full_name)
|
||||
full_name.to_s.split(/::/).reduce(Object) do|context, name|
|
||||
begin
|
||||
context.const_get(name)
|
||||
rescue NameError
|
||||
context.const_set(name, Module.new)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user