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

Dependencies (0)

    Dev Dependencies (1)

    Package Sidebar

    Install

    npm i cucumberjs-json-api-mocking

    Weekly Downloads

    1

    Version

    1.0.8

    License

    MIT

    Last publish

    Collaborators

    • ziprandom