No commit activity in last 3 years
No release in over 3 years
Generate scaffolding for Cucumber features and steps definitions
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

Installation¶ ↑

$ gem install cucumber_scaffold

Usage¶ ↑

Install the support files (you should also do this when updating the gem):

$ rails generate cucumber_scaffold:install

Run the built-in Rails scaffold generator:

$ rails generate scaffold Post name:string body:text rating:integer published:boolean

Then run the cucumber_scaffold generator with the same parameters:

$ rails generate cucumber_scaffold:feature Post name:string body:text rating:integer published:boolean

Notes¶ ↑

  • By default the generated features are targeted at the Rails scaffold generator

  • Only tested with Rails 3 and Capybara (not webrat)

  • Only supports string, text, integer, decimal and boolean fields at present

  • References (belongs_to) are partly supported

Contributors¶ ↑

zuf[https://github.com/zuf]

Sample Output¶ ↑

# Generated by cucumber_scaffold - http://github.com/andyw8/cucumber_scaffold

Feature: Manage posts
  In order to [goal]
  [stakeholder]
  wants [behaviour]

    Scenario: List all posts
      Given the following posts:
        | name   | body   | rating | published |
        | name 1 | body 1 | 11     | true      |
        | name 2 | body 2 | 12     | true      |
        | name 3 | body 3 | 13     | true      |
      When I go to the posts page
      Then I should see the following posts:
        | Name   | Body   | Rating | Published |
        | name 1 | body 1 | 11     | true      |
        | name 2 | body 2 | 12     | true      |
        | name 3 | body 3 | 13     | true      |
      And the heading should be "Listing posts"

    Scenario: View a post
      Given the following posts:
        | name   | body   | rating | published |
        | name 1 | body 1 | 11     | true      |
        | name 2 | body 2 | 12     | true      |
        | name 3 | body 3 | 13     | true      |
      When I go to the posts page
      And I click "Show" in the 2nd row
      Then I should see the following post:
        | Name:      | name 2 |
        | Body:      | body 2 |
        | Rating:    | 12     |
        | Published: | true   |
      When I follow "Back"
      Then I should be on the posts page

    Scenario: Edit a post
      Given the following post:
        | name      | name 10 |
        | body      | body 10 |
        | rating    | 20      |
        | published | true    |
      When I go to the page for that post
      And I follow "Edit"
      Then I should see the following form field values:
        | Name      | name 10 |
        | Body      | body 10 |
        | Rating    | 20      |
        | Published | [x]     |
      Then the heading should be "Editing post"
      When I follow "Show"
      Then I should be on the page for that post

    Scenario: Delete a post via the index page
      Given the following posts:
        | name   | body   | rating | published |
        | name 1 | body 1 | 11     | true      |
        | name 2 | body 2 | 12     | true      |
        | name 3 | body 3 | 13     | true      |
      When I go to the posts page
      And I click "Destroy" in the 2nd row
      Then I should see the following posts:
        | Name   | Body   | Rating | Published |
        | name 1 | body 1 | 11     | true      |
        | name 3 | body 3 | 13     | true      |
      And I should be on the posts page

    Scenario: New post page  
      Given I am on the posts page
      When I follow "New Post"
      Then I should be on the new post page
      When I follow "Back"
      Then I should be on the posts page

    Scenario: Create a new post
      Pending
      # Given I am on the new post page
      # When I fill in the form with:
      #   | Name      | name 10 |
      #   | Body      | body 10 |
      #   | Rating    | 20      |
      #   | Published | [x]     |
      # And I press "Create"
      # Then I should see "Post was successfully created."
      # And I should see the following post:
      #   | Name:      | name 10 |
      #   | Body:      | body 10 |
      #   | Rating:    | 20      |
      #   | Published: | true    |

    Scenario: Attempt to create a new post with invalid input
      Pending
      # You should use this scenario as the basis for scenarios involving ActiveRecord validations, or delete it if it's not required
      # Given I am on the new post page
      # When I fill in the form with:
      #   | Name      | name 10 |
      #   | Body      | body 10 |
      #   | Rating    | 20      |
      #   | Published | [x]     |
      # And I press "Create"
      # Then I should see "1 error prohibited this post from being saved:"
      #
      # [You should add checks for specific errors here. It may be appropriate to add extra scenarios.]
      #
      # And I should see the following form field values:
      #   | Name      | name 10 |
      #   | Body      | body 10 |
      #   | Rating    | 20      |
      #   | Published | [x]     |

    Scenario: Attempt to update a post with invalid input
      Pending
      # You should use this scenario as the basis for scenarios involving ActiveRecord validations, or delete it if it's not required
      # Given a post exists
      # When I go to the edit page for that post
      # And I fill in the form with:
      #   | Name      | name 10 |
      #   | Body      | body 10 |
      #   | Rating    | 20      |
      #   | Published | [x]     |
      # And I press "Update"
      # Then I should see "1 error prohibited this post from being saved:"
      #
      # [You should add checks for specific errors here. It may be appropriate to add extra scenarios.]
      #
      # And I should see the following form field values:
      #   | Name      | name 10 |
      #   | Body      | body 10 |
      #   | Rating    | 20      |
      #   | Published | [x]     |

    Scenario: Update a post
      Given the following post:
        | name      | name 10 |
        | body      | body 10 |
        | rating    | 20      |
        | published | true    |
      When I go to the edit page for that post
      And I fill in the form with:
        | Name      | name 10 updated |
        | Body      | body 10 updated |
        | Rating    | -20             |
        | Published | [ ]             |
      And I press "Update"
      Then I should be on the page for that post
      And I should see "Post was successfully updated."
      And I should see the following post:
        | Name:      | name 10 updated |
        | Body:      | body 10 updated |
        | Rating:    | -20             |
        | Published: | false           |

    Scenario: Navigate from posts page to the edit post page
      Given the following posts:
        | name   | body   | rating | published |
        | name 1 | body 1 | 11     | true      |
        | name 2 | body 2 | 12     | true      |
        | name 3 | body 3 | 13     | true      |
      When I go to the posts page
      And I click "Edit" in the 2nd row
      Then I should be on the edit page for the 2nd post

    Scenario: Navigate from edit post page to the posts page
      Given a post exists
      When I go to the edit page for that post
      And I follow "Back"
      Then I should be on the posts page