forked from mongodb/mongoid
-
Notifications
You must be signed in to change notification settings - Fork 0
/
spec_helper.rb
49 lines (38 loc) · 1.41 KB
/
spec_helper.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
$LOAD_PATH.unshift(File.dirname(__FILE__))
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
MODELS = File.join(File.dirname(__FILE__), "app/models")
SUPPORT = File.join(File.dirname(__FILE__), "support")
$LOAD_PATH.unshift(MODELS)
$LOAD_PATH.unshift(SUPPORT)
require "mongoid"
require "mocha"
require "rspec"
LOGGER = Logger.new($stdout)
DATABASE_ID = Process.pid
Mongoid.configure do |config|
database = Mongo::Connection.new.db("mongoid_#{DATABASE_ID}")
database.add_user("mongoid", "test")
config.master = database
config.logger = nil
end
Dir[ File.join(MODELS, "*.rb") ].sort.each { |file| require File.basename(file) }
Dir[ File.join(SUPPORT, "*.rb") ].each { |file| require File.basename(file) }
RSpec.configure do |config|
config.mock_with(:mocha)
config.before(:each) do
Mongoid::IdentityMap.clear
end
config.after(:suite) do
Mongoid.master.connection.drop_database("mongoid_#{DATABASE_ID}")
end
# We filter out specs that require authentication to MongoHQ if the
# environment variables have not been set up locally.
mongohq_configured = Support::MongoHQ.configured?
warn(Support::MongoHQ.message) unless mongohq_configured
config.filter_run_excluding(:config => lambda { |value|
return true if value == :mongohq && !mongohq_configured
})
end
ActiveSupport::Inflector.inflections do |inflect|
inflect.singular("address_components", "address_component")
end