/
acceptance_helper.rb
48 lines (39 loc) · 1.39 KB
/
acceptance_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
require File.expand_path("../../spec_helper.rb", __FILE__)
require 'steak'
require 'capybara/rails'
# Put your acceptance spec helpers inside /spec/acceptance/support
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
# Workaround for ActionDispatch::ClosedError
# https://github.com/binarylogic/authlogic/issues/262#issuecomment-1804988
User.acts_as_authentic_config[:maintain_sessions] = false
if ENV['HEADLESS'] == 'true' or ENV["CI"] == "true"
require 'headless'
headless = Headless.new
headless.start
HEADLESS_DISPLAY = ":#{headless.display}"
at_exit do
headless.destroy
end
puts "Running in Headless mode. Display #{HEADLESS_DISPLAY}"
end
# How to clean your database when transactions are turned off. See
# http://github.com/bmabey/database_cleaner for more info.
if defined?(ActiveRecord::Base)
begin
require 'database_cleaner'
DatabaseCleaner.strategy = :truncation, {:except => ['settings']}
rescue LoadError => ignore_if_database_cleaner_not_present
end
end
RSpec.configuration.use_transactional_fixtures = false
RSpec.configuration.before(:each, :type => :acceptance) do
DatabaseCleaner.clean
end
# Chrome browser
if ENV['BROWSER'] == 'chrome'
Capybara.register_driver :selenium do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
end
# Default timeout for extended for AJAX based application
Capybara.default_wait_time = 7