features/rails3.feature in cucumber-rails-0.3.0 vs features/rails3.feature in cucumber-rails-0.3.1

- old
+ new

@@ -4,49 +4,90 @@ Cucumber-Rails should work on major versions of Rails2 and Ruby, with Capybara, Spork and DatabaseCleaner Scenario: Install Cucumber-Rails Given I am using rvm "1.8.7" - And I am using rvm gemset "cucumber-rails-3.0.0.beta" + And I am using rvm gemset "cucumber-rails-3.0.0.beta" with Gemfile: + """ + gem 'rails', '3.0.0.beta' + gem 'sqlite3-ruby', '1.2.5' + gem 'capybara', '0.3.7' + """ When I successfully run "rails rails-3-app" Then it should pass with: """ README """ And I cd to "rails-3-app" And I symlink this repo to "vendor/plugins/cucumber-rails" - When I successfully run "rails generate cucumber:skeleton" + When I successfully run "rails generate cucumber:skeleton --capybara" Then the following files should exist: | config/cucumber.yml | | script/cucumber | | features/step_definitions/web_steps.rb | | features/support/env.rb | | features/support/paths.rb | | lib/tasks/cucumber.rake | And the file "features/support/env.rb" should contain "require 'cucumber/rails/world'" And the file "features/support/env.rb" should contain "require 'capybara/rails'" - Scenario: Run Cucumber - Given I am using rvm "1.8.7" - And I am using rvm gemset "cucumber-rails-3.0.0.beta" + Scenario Outline: Run Cucumber + Given I am using rvm "<ruby_version>" + And I am using rvm gemset "cucumber-rails-3.0.0.beta" with Gemfile: + """ + source :gemcutter + + gem 'rails', '3.0.0.beta' + gem 'sqlite3-ruby', '1.2.5' + gem 'capybara', '0.3.7' + gem 'rspec-rails', '<rspec_version>' + """ And I successfully run "rails rails-3-app" And I cd to "rails-3-app" And I symlink this repo to "vendor/plugins/cucumber-rails" - And I successfully run "rails generate cucumber:skeleton" + And I successfully run "rails generate cucumber:skeleton --capybara" And I successfully run "rails generate cucumber:feature post title:string body:text published:boolean" And I successfully run "rails generate scaffold post title:string body:text published:boolean" + And I successfully run "rails generate scaffold cukes name:string" And I append to "Gemfile" with: """ - gem 'cucumber' - gem 'database_cleaner' - gem 'capybara', :git => 'git://github.com/jnicklas/capybara.git' + gem 'capybara', '0.3.7' + gem 'cucumber', '0.7.2' """ - And I run "bundle install" + And I write to "app/controllers/cukes_controller.rb" with: + """ + class CukesController < ApplicationController + def index + redirect_to cuke_path(10, :overwrite_params => {:name => 'cucumber', :what => 'vegetable'}) + end + + def show + render :text => "Cuke #{params[:id]}" + end + end + """ + And I write to "features/tests.feature" with: + """ + Feature: Tests + Scenario: Tests + When I go to the cukes page + Then I should have the following query string: + |name|cucumber| + |what|vegetable| + |controller|cukes| + |action|index| + And I should see "Cuke 10" + """ + And I successfully run "bundle install" And I successfully run "rake db:migrate" - And I run "rake cucumber" + And I successfully run "rake cucumber" Then it should pass with: """ - 2 scenarios (2 passed) - 11 steps (11 passed) + 3 scenarios (3 passed) + 14 steps (14 passed) """ - + + Examples: + | ruby_version | rspec_version | + | 1.8.7 | 1.3.2 | + | 1.9.1 | 2.0.0.beta.8 |