# IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
# It is recommended to regenerate this file in the future when you upgrade to a 
# newer version of cucumber-rails. Consider adding your own code to a new file 
# instead of editing this one. Cucumber will automatically load all features/**/*.rb
# files.

ENV["RAILS_ENV"] ||= "cucumber"
require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')

require 'spec/support/blueprints'
require 'features/support/find_or_make'  # if available
require 'cucumber/rails/capybara'
require 'cucumber/rails'
require 'spec/stubs/cucumber' # if available

Capybara.default_selector = :css

ActionController::Base.allow_rescue = false



# database cleaner stuff
begin
  DatabaseCleaner.strategy = :transaction
rescue NameError
  raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
end

Before('@no-txn,@selenium,@culerity,@celerity,@javascript') do
  DatabaseCleaner.strategy = :truncation, {:except => %w[widgets]}
end
Before('~@no-txn', '~@selenium', '~@culerity', '~@celerity', '~@javascript') do
  DatabaseCleaner.strategy = :transaction
end   


     
# headless gem stuff to hide the selenium browser window
require 'headless'
headless = Headless.new 
at_exit do
  headless.destroy # comment this line out if you use parallel_tests
end 
Before("@selenium,@javascript") do
  headless.start if Capybara.current_driver == :selenium
end 
After do
  headless.stop if Capybara.current_driver == :selenium
end 

# new selenium port for each thread/process (needed when you use parallel_tests)
Capybara.server_port = 8888 + ENV['TEST_ENV_NUMBER'].to_i
