Sha256: 5167440943a43bd15f312be9ee1b64c4e89684c9d452c87b0b0e252c383762f9

Contents?: true

Size: 1.27 KB

Versions: 4

Compression:

Stored size: 1.27 KB

Contents

Feature: REST API

  Scenario: Compare JSON
    Given I have created a new Rails 3 app "rails-3-app" and installed cucumber-rails
    And I write to "app/controllers/posts_controller.rb" with:
      """
      class PostsController < ApplicationController
        def index
          render :json => {'hello' => 'world'}.to_json
        end
      end
      """
    And I write to "config/routes.rb" with:
      """
      Rails3App::Application.routes.draw do
        resources :posts
      end
      """
    And I write to "features/posts.feature" with:
      """
      Feature: posts
        Scenario: See them
          When the client requests GET /posts
          Then the response should be JSON:
            \"\"\"
            {
              "hello": "world"
            }
            \"\"\"
      """
    And I write to "features/step_definitions/rest_steps.rb" with:
      """
      When /^the client requests GET (.*)$/ do |path|
        get(path)
      end

      Then /^the response should be JSON:$/ do |json|
        JSON.parse(last_response.body).should == JSON.parse(json)
      end
      """
    And I run `bundle exec rake db:migrate`
    And I run `bundle exec rake cucumber`
    Then it should pass with:
       """
       1 scenario (1 passed)
       2 steps (2 passed)
       """

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
cucumber-rails-1.3.1 features/rest_api.feature
cucumber-rails-1.3.0 features/rest_api.feature
cucumber-rails-1.2.1 features/rest_api.feature
cucumber-rails-1.2.0 features/rest_api.feature