/
spec_helper.rb
executable file
·66 lines (53 loc) · 1.64 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
require 'rubygems'
require 'bundler/setup'
require 'active_support/all'
require 'active_record'
require 'geocoder'
require 'rspec/collection_matchers'
require 'factory_girl'
require 'faker'
require 'database_cleaner'
require 'dotenv'
Dotenv.load
require_relative 'app/models/user'
require_relative 'app/models/gpspoint'
require_relative 'app/models/route'
require_relative 'app/models/run'
require_relative 'app/timejudge'
require_relative 'factories/spec/user'
require_relative 'factories/spec/gpspoint'
require_relative 'factories/spec/route'
db = URI.parse(ENV['DATABASE_URL'] || 'postgres://localhost/mydb')
ActiveRecord::Base.establish_connection(
adapter: db.scheme == 'postgres' ? 'postgresql' : db.scheme,
host: db.host,
username: db.user,
password: db.password,
database: db.path[1..-1],
encoding: 'utf8'
)
# Recreate the database
ActiveRecord::Migration.suppress_messages do
require './db/schema.rb'
end
RSpec.configure do |config|
#config.use_transactional_examples = false
config.before(:suite) do
DatabaseCleaner.strategy = :transaction
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
config.mock_with(:rspec) do |mocks|
# This option should be set when all dependencies are being loaded
# before a spec run, as is the case in a typical spec helper. It will
# cause any verifying double instantiation for a class that does not
# exist to raise, protecting against incorrectly spelt names.
mocks.verify_doubled_constant_names = true
end
end
I18n.enforce_available_locales = false