2010-01-13 20:39:28 +01:00
# IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
2012-01-27 12:09:34 +01:00
# 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
2010-01-13 20:39:28 +01:00
# instead of editing this one. Cucumber will automatically load all features/**/*.rb
# files.
ENV [ " RAILS_ENV " ] || = " cucumber "
2009-04-13 22:26:20 +02:00
require File . expand_path ( File . dirname ( __FILE__ ) + '/../../config/environment' )
2010-01-13 20:39:28 +01:00
require 'cucumber/formatter/unicode' # Remove this line if you don't want Cucumber Unicode support
require 'cucumber/rails/rspec'
2009-04-13 22:26:20 +02:00
require 'cucumber/rails/world'
2010-01-13 20:39:28 +01:00
require 'cucumber/rails/active_record'
require 'cucumber/web/tableish'
2012-03-19 16:00:48 +01:00
require 'aruba/cucumber'
2009-04-13 22:26:20 +02:00
2012-01-27 11:23:36 +01:00
require 'capybara/rails'
require 'capybara/cucumber'
require 'capybara/session'
2012-01-27 12:09:34 +01:00
# BUG in this version of cucumber/capybara: require 'cucumber/rails/capybara_javascript_emulation' # Lets you click links with onclick javascript handlers without using @culerity or @javascript
2012-01-30 03:42:47 +01:00
Capybara . default_wait_time = 5
2012-02-03 15:57:23 +01:00
Capybara . javascript_driver = ENV [ " JS_DRIVER " ] ? ENV [ " JS_DRIVER " ] . to_sym : :selenium
2012-01-31 12:09:00 +01:00
if Capybara . javascript_driver == :webkit
require 'capybara/webkit'
end
2012-01-30 03:42:47 +01:00
2012-01-27 11:23:36 +01:00
# Capybara defaults to XPath selectors rather than Webrat's default of CSS3. In
# order to ease the transition to Capybara we set the default here. If you'd
# prefer to use XPath just remove this line and adjust any selectors in your
# steps to use the XPath syntax.
Capybara . default_selector = :css
2010-01-13 20:39:28 +01:00
2012-02-15 21:42:06 +01:00
Capybara . prefer_visible_elements = true
2012-01-27 12:09:34 +01:00
# If you set this to false, any error raised from within your app will bubble
2010-01-13 20:39:28 +01:00
# up to your step definition and out to cucumber unless you catch it somewhere
# on the way. You can make Rails rescue errors and render error pages on a
# per-scenario basis by tagging a scenario or feature with the @allow-rescue tag.
#
# If you set this to true, Rails will rescue all errors and render error
# pages, more or less in the same way your application would behave in the
# default production environment. It's not recommended to do this for all
# of your scenarios, as this makes it hard to discover errors in your application.
ActionController :: Base . allow_rescue = false
# If you set this to true, each scenario will run in a database transaction.
2012-01-27 12:09:34 +01:00
# You can still turn off transactions on a per-scenario basis, simply tagging
2010-01-13 20:39:28 +01:00
# a feature or scenario with the @no-txn tag. If you are using Capybara,
# tagging with @culerity or @javascript will also turn transactions off.
#
# If you set this to false, transactions will be off for all scenarios,
# regardless of whether you use @no-txn or not.
#
2012-01-27 12:09:34 +01:00
# Beware that turning transactions off will leave data in your database
# after each scenario, which can lead to hard-to-debug failures in
2010-01-13 20:39:28 +01:00
# subsequent scenarios. If you do this, we recommend you create a Before
# block that will explicitly put your database in a known state.
Cucumber :: Rails :: World . use_transactional_fixtures = true
2012-01-30 03:42:47 +01:00
2010-01-13 20:39:28 +01:00
# How to clean your database when transactions are turned off. See
# http://github.com/bmabey/database_cleaner for more info.
2010-07-22 13:54:26 +02:00
if defined? ( ActiveRecord :: Base )
begin
require 'database_cleaner'
DatabaseCleaner . strategy = :truncation
rescue LoadError = > ignore_if_database_cleaner_not_present
end
end