cucumber-rails 0.2.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. data/.gitignore +3 -2
  2. data/HACKING.rdoc +34 -0
  3. data/History.txt +29 -0
  4. data/README.rdoc +48 -22
  5. data/Rakefile +6 -1
  6. data/VERSION +1 -1
  7. data/config/.gitignore +1 -0
  8. data/cucumber-rails.gemspec +49 -25
  9. data/dev_tasks/cucumber.rake +5 -0
  10. data/{tasks → dev_tasks}/rspec.rake +0 -0
  11. data/features/rails2.feature +56 -0
  12. data/features/rails3.feature +52 -0
  13. data/features/step_definitions/cucumber_rails_steps.rb +7 -0
  14. data/features/support/env.rb +4 -0
  15. data/features/support/matchers/files.rb +17 -0
  16. data/generators/cucumber/cucumber_generator.rb +27 -134
  17. data/generators/cucumber/templates/step_definitions/web_steps_ja.rb.erb +136 -0
  18. data/generators/feature/feature_generator.rb +30 -24
  19. data/lib/cucumber/rails/capybara_javascript_emulation.rb +25 -14
  20. data/lib/cucumber/rails/rspec.rb +20 -7
  21. data/lib/cucumber/rails/world.rb +5 -1
  22. data/lib/cucumber/web/tableish.rb +67 -65
  23. data/lib/generators/cucumber/feature/USAGE +16 -0
  24. data/lib/generators/cucumber/feature/feature_base.rb +29 -0
  25. data/lib/generators/cucumber/feature/feature_generator.rb +37 -0
  26. data/lib/generators/cucumber/feature/named_arg.rb +17 -0
  27. data/lib/generators/cucumber/skeleton/USAGE +21 -0
  28. data/lib/generators/cucumber/skeleton/skeleton_base.rb +202 -0
  29. data/lib/generators/cucumber/skeleton/skeleton_generator.rb +64 -0
  30. data/rvm.yml +22 -0
  31. data/spec/cucumber/web/tableish_spec.rb +2 -0
  32. data/spec/generators/cucumber/skeleton/skeleton_base_spec.rb +84 -0
  33. data/spec/spec.opts +2 -0
  34. data/{generators/feature/templates → templates/feature}/feature.erb +18 -12
  35. data/{generators/feature/templates → templates/feature}/steps.erb +0 -0
  36. data/{generators/cucumber/templates → templates/skeleton}/config/cucumber.yml.erb +0 -0
  37. data/{generators/cucumber/templates → templates/skeleton}/environments/cucumber.rb.erb +2 -2
  38. data/{generators/cucumber/templates → templates/skeleton}/script/cucumber +0 -0
  39. data/{generators/cucumber/templates → templates/skeleton}/step_definitions/capybara_steps.rb.erb +18 -8
  40. data/{generators/cucumber/templates → templates/skeleton}/step_definitions/web_steps_cs.rb.erb +0 -0
  41. data/templates/skeleton/step_definitions/web_steps_da.rb.erb +114 -0
  42. data/{generators/cucumber/templates → templates/skeleton}/step_definitions/web_steps_de.rb.erb +0 -0
  43. data/{generators/cucumber/templates → templates/skeleton}/step_definitions/web_steps_es.rb.erb +0 -0
  44. data/{generators/cucumber/templates → templates/skeleton}/step_definitions/web_steps_no.rb.erb +0 -0
  45. data/{generators/cucumber/templates → templates/skeleton}/step_definitions/web_steps_pt-BR.rb.erb +0 -0
  46. data/{generators/cucumber/templates → templates/skeleton}/step_definitions/webrat_steps.rb.erb +13 -3
  47. data/{generators/cucumber/templates → templates/skeleton}/support/_rails_each_run.rb +7 -2
  48. data/{generators/cucumber/templates → templates/skeleton}/support/_rails_prefork.rb.erb +1 -1
  49. data/{generators/cucumber/templates → templates/skeleton}/support/capybara.rb +0 -0
  50. data/{generators/cucumber/templates → templates/skeleton}/support/edit_warning.txt +0 -0
  51. data/{generators/cucumber/templates → templates/skeleton}/support/paths.rb +0 -0
  52. data/{generators/cucumber/templates → templates/skeleton}/support/rails.rb.erb +0 -0
  53. data/{generators/cucumber/templates → templates/skeleton}/support/rails_spork.rb.erb +0 -0
  54. data/{generators/cucumber/templates → templates/skeleton}/support/webrat.rb +0 -0
  55. data/{generators/cucumber/templates → templates/skeleton}/tasks/cucumber.rake.erb +1 -1
  56. metadata +77 -31
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
- Manifest
2
1
  pkg
3
- doc
2
+ doc
3
+ tmp
4
+ coverage
data/HACKING.rdoc ADDED
@@ -0,0 +1,34 @@
1
+ = Hacking on Cucumber-Rails
2
+
3
+ If you have a bugfix or a new feature you want to contribute, please fork on Github and make your own feature branch:
4
+
5
+ git clone git@github.com:you/cucumber-rails.git
6
+ git checkout -b 87-add-chinese-translation
7
+
8
+ The feature branch should contain a ticket number (if appliccable) and a descriptive name that aligns with the ticket name.
9
+
10
+ == Setting up your environment
11
+
12
+ Before you change anything, you should make sure you can run all the Cucumber features for Cucumber-Rails.
13
+ The first time you clone the repo you may have to install Rails for all of the Ruby versions we're testing against.
14
+ For this you need RVM:
15
+
16
+ === Installing rubies with RVM
17
+
18
+ sudo gem install rvm
19
+ rvm install 1.8.7 1.9.1
20
+
21
+ === Installing gems
22
+
23
+ In order to avoid conflicts we'll use RVM's gem sets to set up a gem set for each combination of Ruby version and Rails version
24
+ to be tested against. Open platforms.yml and modify the rubies section if you have different patchlevels for the rubies.
25
+
26
+ Installing the various gem sets is done with the following command:
27
+
28
+ rake gemsets:install
29
+
30
+ This will take 10-15 minutes to complete, as there are many gems to download. After you have done this once you shouldn't have
31
+ to do it again (unless future versions require new gems).
32
+
33
+ == Gotchas
34
+ * https://rails.lighthouseapp.com/projects/8994/tickets/3865-invalid-gemspec-format-in-and-already-initialized-constant-warnings-with-ruby-192dev
data/History.txt CHANGED
@@ -1,3 +1,32 @@
1
+ == 0.3.0
2
+
3
+ This is a major release since we're now supporting both Rails 3 and RSpec 2. Older versions
4
+ (Rails 2 and RSpec 1) are still supported.
5
+
6
+ === New Features
7
+ * Support for both Rails-2.x and Rails-3.x (#10 Kristian Mandrup, Aleksey Gureiev, Ashley Moran, Aslak Hellesøy)
8
+ * Support for both RSpec-1.x and RSpec-2.x (Louis Rose, Aslak Hellesøy)
9
+ * Features will default to Javascript emulation unless you turn it off with @culerity, (Aslak Hellesøy)
10
+ * Japanese translation. (MOROHASHI Kyosuke)
11
+
12
+ === Bugfixes
13
+ * Support projects that don't use ActiveRecord (#14 Aslak Hellesøy)
14
+ * Running test/unit tests when creating a skeleton (#12 Aleksey Gureiev)
15
+ * Inform that config/database.yml is overwritten, be smarter about it and inform the user that it is forced. (#15 Aslak Hellesøy)
16
+ * Reverts changes from issue #5 where verification of query string params was added to the step for being on a page. Adds step discussed in issue #11 for verification of query string. (#5, #11 Eric Milford)
17
+ * Fixed typos in Capybara's web steps (has_not_xpath? => has_no_xpath?) (Thorbjørn Hermansen, Carlos Antonio da Silva)
18
+
19
+ == 0.2.5 2010-02-07
20
+
21
+ === New Features
22
+ * Added Danish translation (Kristian Mandrup)
23
+ * Using Gemfile for Rails 3. Tidies it up and adds cucumber gems only if not already present! (Kristian Mandrup)
24
+ * Added Generators wrapper module for Rails 3 generators so they are now all in Cucumber::Generators (Kristian Mandrup)
25
+
26
+ === Bugfixes
27
+ * Started to work on solutions for generating suitable support files depending on Rails version
28
+ - see skeleton_base.rb#create_feature_support and templates/support
29
+
1
30
  == 0.2.4 2010-01-18
2
31
 
3
32
  === New Features
data/README.rdoc CHANGED
@@ -1,38 +1,64 @@
1
- = cucumber-rails
1
+ = Cucumber-Rails
2
2
 
3
- Extracted the Rails generators from the Cucumber gem, inspired by
4
- {this posting}[http://groups.google.com/group/cukes/browse_thread/thread/b9b8ff6301393c19]
5
- on the Cukes Mailing List.
3
+ Cucumber-Rails brings Cucumber to Rails2 and Rails3. It contains 2 generators - one
4
+ for bootstrapping your Rails app for Cucumber, and a second one for generating features.
6
5
 
7
- The goal is to provide i18n of the webrat_steps.rb plus some other useful
8
- enhancements.
6
+ Cucumber-Rails also contains Cucumber Step Definitions that wrap Capybara or Webrat,
7
+ giving you a head start for writing Cucumber features against your Rails app.
9
8
 
10
- == Install
9
+ == Installation
11
10
 
12
- gem install cucumber-rails
11
+ === Rails 3:
12
+
13
+ Before you can use the generator, add the necessary gems to your project's Gemfile as follows:
14
+
15
+ gem 'capybara'
16
+ gem 'database_cleaner'
17
+ gem 'cucumber-rails'
18
+
19
+ Or if you prefer the latest and greatest:
20
+
21
+ gem 'capybara', :git => 'git://github.com/jnicklas/capybara.git'
22
+ gem 'database_cleaner', :git => 'git://github.com/bmabey/database_cleaner.git'
23
+ gem 'cucumber-rails', :git => 'git://github.com/aslakhellesoy/cucumber-rails3.git'
24
+
25
+ Then install the gems by running:
13
26
 
14
- == Usage
27
+ bundle install
15
28
 
16
- Once you install the gem, the generators will be available to all Rails
17
- applications on your system. If you run script/generate without any
18
- additional arguments you should see the available generators listed.
29
+ Finally, bootstrap your Rails app by running:
19
30
 
20
- To run the generator, go to your rails project directory and call it
21
- using the script/generate or script/destroy command.
31
+ ruby script/rails generate cucumber:skeleton
32
+
33
+ === Rails 2.x:
34
+
35
+ Before you can use the generator, install the gem by running:
36
+
37
+ gem install cucumber-rails
38
+
39
+ Finally, bootstrap your Rails app by running:
22
40
 
23
41
  script/generate cucumber
24
42
 
43
+ == Generating a Cucumber feature
44
+
45
+ IMPORTANT: Only do this if you are new to Cucumber. We recommend you write your
46
+ Cucumber features by hand once you get the hang of it.
25
47
 
26
- == Included Generators
48
+ === Rails 3:
27
49
 
28
- * cucumber: Sets up Cucumber in your Rails project
29
- * feature: Generates a skeleton for a new feature
50
+ Example:
30
51
 
31
- To view the README for each generator, run it with the --help option.
52
+ ruby script/rails generate cucumber:feature post title:string body:text published:boolean
53
+ ruby script/rails generate scaffold post title:string body:text published:boolean
54
+ rake db:migrate
55
+ rake cucumber
32
56
 
33
- script/generate cucumber --help
57
+ === Rails 2:
34
58
 
35
- == Tests
59
+ Example:
36
60
 
37
- This project has tests, but for practical and historical reasons they live in a different project:
38
- http://github.com/aslakhellesoy/cucumber-rails-test/
61
+ ruby script/generate feature post title:string body:text published:boolean
62
+ ruby script/generate scaffold post title:string body:text published:boolean
63
+ rake db:migrate
64
+ rake cucumber
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  begin
2
4
  require 'jeweler'
3
5
  Jeweler::Tasks.new do |gemspec|
@@ -10,10 +12,13 @@ begin
10
12
  gemspec.homepage = "http://github.com/aslakhellesoy/cucumber-rails"
11
13
 
12
14
  gemspec.add_dependency 'cucumber', '>= 0.6.2'
15
+ gemspec.add_development_dependency 'aruba', '>= 0.1.5'
13
16
  end
14
17
  Jeweler::GemcutterTasks.new
15
18
  rescue LoadError
16
19
  puts "Jeweler not available. Install it with: sudo gem install jeweler"
17
20
  end
18
21
 
19
- Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
22
+ $:.unshift(File.dirname(__FILE__) + '/lib')
23
+ Dir["#{File.dirname(__FILE__)}/dev_tasks/*.rake"].sort.each { |ext| load ext }
24
+ task :default => :cucumber
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.4
1
+ 0.3.0
data/config/.gitignore ADDED
@@ -0,0 +1 @@
1
+ aruba-rvm.yml
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{cucumber-rails}
8
- s.version = "0.2.4"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Dennis Bl\303\266te", "Aslak Helles\303\270y", "Rob Holland"]
12
- s.date = %q{2010-01-18}
12
+ s.date = %q{2010-02-26}
13
13
  s.description = %q{Cucumber Generators and Runtime for Rails}
14
14
  s.email = %q{cukes@googlegroups.com}
15
15
  s.extra_rdoc_files = [
@@ -17,36 +17,25 @@ Gem::Specification.new do |s|
17
17
  ]
18
18
  s.files = [
19
19
  ".gitignore",
20
+ "HACKING.rdoc",
20
21
  "History.txt",
21
22
  "README.rdoc",
22
23
  "Rakefile",
23
24
  "VERSION",
25
+ "config/.gitignore",
24
26
  "cucumber-rails.gemspec",
27
+ "dev_tasks/cucumber.rake",
28
+ "dev_tasks/rspec.rake",
29
+ "features/rails2.feature",
30
+ "features/rails3.feature",
31
+ "features/step_definitions/cucumber_rails_steps.rb",
32
+ "features/support/env.rb",
33
+ "features/support/matchers/files.rb",
25
34
  "generators/cucumber/USAGE",
26
35
  "generators/cucumber/cucumber_generator.rb",
27
- "generators/cucumber/templates/config/cucumber.yml.erb",
28
- "generators/cucumber/templates/environments/cucumber.rb.erb",
29
- "generators/cucumber/templates/script/cucumber",
30
- "generators/cucumber/templates/step_definitions/capybara_steps.rb.erb",
31
- "generators/cucumber/templates/step_definitions/web_steps_cs.rb.erb",
32
- "generators/cucumber/templates/step_definitions/web_steps_de.rb.erb",
33
- "generators/cucumber/templates/step_definitions/web_steps_es.rb.erb",
34
- "generators/cucumber/templates/step_definitions/web_steps_no.rb.erb",
35
- "generators/cucumber/templates/step_definitions/web_steps_pt-BR.rb.erb",
36
- "generators/cucumber/templates/step_definitions/webrat_steps.rb.erb",
37
- "generators/cucumber/templates/support/_rails_each_run.rb",
38
- "generators/cucumber/templates/support/_rails_prefork.rb.erb",
39
- "generators/cucumber/templates/support/capybara.rb",
40
- "generators/cucumber/templates/support/edit_warning.txt",
41
- "generators/cucumber/templates/support/paths.rb",
42
- "generators/cucumber/templates/support/rails.rb.erb",
43
- "generators/cucumber/templates/support/rails_spork.rb.erb",
44
- "generators/cucumber/templates/support/webrat.rb",
45
- "generators/cucumber/templates/tasks/cucumber.rake.erb",
36
+ "generators/cucumber/templates/step_definitions/web_steps_ja.rb.erb",
46
37
  "generators/feature/USAGE",
47
38
  "generators/feature/feature_generator.rb",
48
- "generators/feature/templates/feature.erb",
49
- "generators/feature/templates/steps.erb",
50
39
  "lib/cucumber/rails/action_controller.rb",
51
40
  "lib/cucumber/rails/active_record.rb",
52
41
  "lib/cucumber/rails/capybara_javascript_emulation.rb",
@@ -54,17 +43,49 @@ Gem::Specification.new do |s|
54
43
  "lib/cucumber/rails/test_unit.rb",
55
44
  "lib/cucumber/rails/world.rb",
56
45
  "lib/cucumber/web/tableish.rb",
46
+ "lib/generators/cucumber/feature/USAGE",
47
+ "lib/generators/cucumber/feature/feature_base.rb",
48
+ "lib/generators/cucumber/feature/feature_generator.rb",
49
+ "lib/generators/cucumber/feature/named_arg.rb",
50
+ "lib/generators/cucumber/skeleton/USAGE",
51
+ "lib/generators/cucumber/skeleton/skeleton_base.rb",
52
+ "lib/generators/cucumber/skeleton/skeleton_generator.rb",
53
+ "rvm.yml",
57
54
  "spec/cucumber/web/tableish_spec.rb",
55
+ "spec/generators/cucumber/skeleton/skeleton_base_spec.rb",
56
+ "spec/spec.opts",
58
57
  "spec/spec_helper.rb",
59
- "tasks/rspec.rake"
58
+ "templates/feature/feature.erb",
59
+ "templates/feature/steps.erb",
60
+ "templates/skeleton/config/cucumber.yml.erb",
61
+ "templates/skeleton/environments/cucumber.rb.erb",
62
+ "templates/skeleton/script/cucumber",
63
+ "templates/skeleton/step_definitions/capybara_steps.rb.erb",
64
+ "templates/skeleton/step_definitions/web_steps_cs.rb.erb",
65
+ "templates/skeleton/step_definitions/web_steps_da.rb.erb",
66
+ "templates/skeleton/step_definitions/web_steps_de.rb.erb",
67
+ "templates/skeleton/step_definitions/web_steps_es.rb.erb",
68
+ "templates/skeleton/step_definitions/web_steps_no.rb.erb",
69
+ "templates/skeleton/step_definitions/web_steps_pt-BR.rb.erb",
70
+ "templates/skeleton/step_definitions/webrat_steps.rb.erb",
71
+ "templates/skeleton/support/_rails_each_run.rb",
72
+ "templates/skeleton/support/_rails_prefork.rb.erb",
73
+ "templates/skeleton/support/capybara.rb",
74
+ "templates/skeleton/support/edit_warning.txt",
75
+ "templates/skeleton/support/paths.rb",
76
+ "templates/skeleton/support/rails.rb.erb",
77
+ "templates/skeleton/support/rails_spork.rb.erb",
78
+ "templates/skeleton/support/webrat.rb",
79
+ "templates/skeleton/tasks/cucumber.rake.erb"
60
80
  ]
61
81
  s.homepage = %q{http://github.com/aslakhellesoy/cucumber-rails}
62
82
  s.rdoc_options = ["--charset=UTF-8"]
63
83
  s.require_paths = ["lib"]
64
- s.rubygems_version = %q{1.3.5}
84
+ s.rubygems_version = %q{1.3.6}
65
85
  s.summary = %q{Cucumber Generators and Runtime for Rails}
66
86
  s.test_files = [
67
87
  "spec/cucumber/web/tableish_spec.rb",
88
+ "spec/generators/cucumber/skeleton/skeleton_base_spec.rb",
68
89
  "spec/spec_helper.rb"
69
90
  ]
70
91
 
@@ -74,11 +95,14 @@ Gem::Specification.new do |s|
74
95
 
75
96
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
76
97
  s.add_runtime_dependency(%q<cucumber>, [">= 0.6.2"])
98
+ s.add_development_dependency(%q<aruba>, [">= 0.1.5"])
77
99
  else
78
100
  s.add_dependency(%q<cucumber>, [">= 0.6.2"])
101
+ s.add_dependency(%q<aruba>, [">= 0.1.5"])
79
102
  end
80
103
  else
81
104
  s.add_dependency(%q<cucumber>, [">= 0.6.2"])
105
+ s.add_dependency(%q<aruba>, [">= 0.1.5"])
82
106
  end
83
107
  end
84
108
 
@@ -0,0 +1,5 @@
1
+ require 'cucumber/rake/task'
2
+
3
+ Cucumber::Rake::Task.new do |t|
4
+ t.rcov = true
5
+ end
File without changes
@@ -0,0 +1,56 @@
1
+ Feature: Rails 2
2
+ In order to take over the world
3
+ Cucumber-Rails should work on major versions
4
+ of Rails2 and Ruby, with Capybara, Webrat, Spork and DatabaseCleaner
5
+
6
+ Scenario Outline: Install Cucumber-Rails
7
+ Given I am using rvm "1.8.7"
8
+ And I am using rvm gemset "cucumber-rails-2.3.5"
9
+ When I successfully run "rails rails-2-app"
10
+ Then it should pass with:
11
+ """
12
+ create README
13
+ """
14
+ And I cd to "rails-2-app"
15
+ When I successfully run "ruby script/generate cucumber <args>"
16
+ Then the following files should exist:
17
+ | config/cucumber.yml |
18
+ | config/environments/cucumber.rb |
19
+ | script/cucumber |
20
+ | features/step_definitions/web_steps.rb |
21
+ | features/support/env.rb |
22
+ | features/support/paths.rb |
23
+ | lib/tasks/cucumber.rake |
24
+ And the file "features/support/env.rb" should contain "<env_rb_1>"
25
+ And the file "features/support/env.rb" should contain "<env_rb_2>"
26
+ And the file "config/environments/cucumber.rb" should contain "<cucumber_rb_1>"
27
+ And the file "config/environments/cucumber.rb" should contain "<cucumber_rb_2>"
28
+ And the file "config/database.yml" should contain "cucumber:"
29
+
30
+ Examples:
31
+ | args | env_rb_1 | env_rb_2 | cucumber_rb_1 | cucumber_rb_2 |
32
+ | --webrat --rspec | require 'cucumber/rails/rspec' | require 'webrat' | config.gem 'webrat' | config.gem 'rspec-rails' |
33
+ | --capybara --testunit | require 'cucumber/rails/world' | require 'capybara/rails' | config.gem 'capybara' | config.gem 'database_cleaner' |
34
+
35
+ @announce-cmd
36
+ Scenario Outline: Run Cucumber
37
+ Given I am using rvm "1.8.7"
38
+ And I am using rvm gemset "cucumber-rails-2.3.5"
39
+ And I successfully run "rails rails-2-app"
40
+ And I cd to "rails-2-app"
41
+ And I symlink this repo to "vendor/plugins/cucumber-rails"
42
+ And I successfully run "ruby script/generate cucumber --capybara"
43
+ And I successfully run "ruby script/generate feature post title:string body:text published:boolean <feature_args>"
44
+ And I successfully run "ruby script/generate scaffold post title:string body:text published:boolean"
45
+ And I successfully run "rake db:migrate"
46
+ When I successfully run "rake cucumber"
47
+ Then it should pass with:
48
+ """
49
+ 2 scenarios (2 passed)
50
+ 11 steps (11 passed)
51
+ """
52
+
53
+ Examples:
54
+ | feature_args |
55
+ | |
56
+ | --capybara culerity |
@@ -0,0 +1,52 @@
1
+ @announce-cmd
2
+ Feature: Rails 3
3
+ In order to take over the world
4
+ Cucumber-Rails should work on major versions
5
+ of Rails2 and Ruby, with Capybara, Spork and DatabaseCleaner
6
+
7
+ Scenario: Install Cucumber-Rails
8
+ Given I am using rvm "1.8.7"
9
+ And I am using rvm gemset "cucumber-rails-3.0.0.beta"
10
+ When I successfully run "rails rails-3-app"
11
+ Then it should pass with:
12
+ """
13
+ README
14
+ """
15
+ And I cd to "rails-3-app"
16
+ And I symlink this repo to "vendor/plugins/cucumber-rails"
17
+ When I successfully run "rails generate cucumber:skeleton"
18
+ Then the following files should exist:
19
+ | config/cucumber.yml |
20
+ | script/cucumber |
21
+ | features/step_definitions/web_steps.rb |
22
+ | features/support/env.rb |
23
+ | features/support/paths.rb |
24
+ | lib/tasks/cucumber.rake |
25
+ And the file "features/support/env.rb" should contain "require 'cucumber/rails/world'"
26
+ And the file "features/support/env.rb" should contain "require 'capybara/rails'"
27
+
28
+ Scenario: Run Cucumber
29
+ Given I am using rvm "1.8.7"
30
+ And I am using rvm gemset "cucumber-rails-3.0.0.beta"
31
+ And I successfully run "rails rails-3-app"
32
+ And I cd to "rails-3-app"
33
+ And I symlink this repo to "vendor/plugins/cucumber-rails"
34
+ And I successfully run "rails generate cucumber:skeleton"
35
+ And I successfully run "rails generate cucumber:feature post title:string body:text published:boolean"
36
+ And I successfully run "rails generate scaffold post title:string body:text published:boolean"
37
+ And I append to "Gemfile" with:
38
+ """
39
+ gem 'cucumber'
40
+ gem 'database_cleaner'
41
+ gem 'capybara', :git => 'git://github.com/jnicklas/capybara.git'
42
+
43
+ """
44
+ And I run "bundle install"
45
+ And I successfully run "rake db:migrate"
46
+ And I run "rake cucumber"
47
+ Then it should pass with:
48
+ """
49
+ 2 scenarios (2 passed)
50
+ 11 steps (11 passed)
51
+ """
52
+
@@ -0,0 +1,7 @@
1
+ Given /^I symlink this repo to "([^\"]*)"$/ do |target|
2
+ source = File.expand_path('../../..', __FILE__)
3
+ in_current_dir do
4
+ target = File.expand_path(target)
5
+ FileUtils.ln_s(source, target)
6
+ end
7
+ end