Skip to content

Commit

Permalink
cucumber setup files
Browse files Browse the repository at this point in the history
  • Loading branch information
Felipe Oliveira committed Sep 28, 2012
1 parent 4b76488 commit 44637bf
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 0 deletions.
9 changes: 9 additions & 0 deletions templates/cucumber/driver.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
require 'selenium/webdriver/remote/http/curb'

Capybara.register_driver :selenium_with_long_timeout do |app|
client = Selenium::WebDriver::Remote::Http::Curb.new
client.timeout = 60
Capybara::Selenium::Driver.new(app, :browser => :firefox, :http_client => client)
end

Capybara.default_driver = :selenium_with_long_timeout if ENV['APP_HOST'].present?
5 changes: 5 additions & 0 deletions templates/cucumber/failfast.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
if ENV['FAILFAST']
After do |scenario|
Cucumber.wants_to_quit = scenario.failed?
end
end
5 changes: 5 additions & 0 deletions templates/cucumber/headless.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
require 'headless'
<% magic_number = app_name.each_byte.to_a.inject(0) { |sum, v| sum += v } %>
display = ENV['APP_HOST'].present? ? <%= 100 + magic_number %> : <%= 101 + magic_number %>
headless = Headless.new(:display => display)
headless.start
3 changes: 3 additions & 0 deletions templates/cucumber/hostname.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Capybara.server_port = <%= 4000 + app_name.each_byte.to_a.inject(0) { |sum, v| sum += v } %>
Capybara.app_host = ENV['APP_HOST'] || "http://local.<%= app_name %>.abril.com.br:#{Capybara.server_port}"
Capybara.run_server = ENV['APP_HOST'].nil?
5 changes: 5 additions & 0 deletions templates/cucumber/page_models.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
page_models_path = Rails.root.join("features/support/page_models/**/*.rb")

Dir[page_models_path].each do |page_model|
require page_model
end
1 change: 1 addition & 0 deletions templates/cucumber/restfulie.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Restfulie::Common::Logger.logger.level = Logger::ERROR
16 changes: 16 additions & 0 deletions templates/cucumber/vcr.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
require 'rails'

VCR.configure do |c|
c.cassette_library_dir = File.join(Rails.root, 'features/fixtures')
c.hook_into :webmock
c.ignore_localhost = true
c.default_cassette_options = { :record => :once }
end

Around do |scenario, block|
file = scenario.respond_to?(:feature) ? scenario.feature.file : scenario.scenario_outline.feature.file
vcr = File.basename(file, '.feature').gsub /^\d+-/, ''
VCR.use_cassette vcr, :record => :new_episodes do
block.call
end
end

0 comments on commit 44637bf

Please sign in to comment.