npm

Bring the best of OSS JavaScript development to your projects with npm Orgs - private packages & team management tools.Learn more »

cucumberjs-json-api-mocking

1.0.8 • Public • Published

cucumberjs-json-api-mocking

A collection of Cucumber step definitions to comfortably define API mocks and expectations inline with Gherkin.

Based on chimp and therefore Webdriver. Loads a modified version of xhr-mock into the browser to intercept XMLHttpRequests. The Steps let you define API call expectations and mocked responses for the wepapp.

Usage

 
    # The XMLHttpRequest and Response Mocks are
    # injected into the browser context. Every
    # call now gets intercepted,logged and answered
    # if a proper response is defined.
    And I start mocking "http://localhost:8000"
 
    # An API request is triggered via the ui
    When I input "My fancy new Todo" into the Todo Input
    And I press Return
 
    # Expected API behavior can be defined after the request
    Then a "post" to "/api/todos" should have happened with:
    """
      {
        "title": "My fancy new Todo",
        "completed": false
      }
    """
 
    # API mocks can also be defined after the request was made
    # a loop waits 5 secs before a timeout is triggered.
    Given the API responds to the "post" on "/api/todos" with "201":
    """
      {
        "id": 5701886678138880,
        "title": "My fancy new Todo",
        "completed": false
      }
    """
 
    # When we made sure, the app makes the right api calls
    # and provide it with backend feedback we can go on
    # testing the ui.
    Then an active Todo "My fancy new Todo" should be visible

See features/ for more usage examples.

Installation

$ npm install --save-dev cucumberjs-json-api-mocking

To use the steps defined in lib/api_mock_steps.js run the functions in the context of one of your own step definition files like this:

var json_api = require('cucumberjs-json-api-mocking');
 
module.exports = function() {
 
  json_api.call(this);
 
  // your own step definitions here ..
 
}

Tests

To run the test suite:

# make sure chromium (firefox / phantomjs are untested) 
# is installed 
$ npm install -g chimp
$ npm install
$ chimp

Credits

install

npm i cucumberjs-json-api-mocking

Downloadsweekly downloads

11

version

1.0.8

license

MIT

last publish

collaborators

  • avatar
Report a vulnerability