superagent-nock

0.5.0 • Public • Published

superagent-nock

Very simple mock of superagent http requests for testing purpose (from Node.js or the browser). Inspired by superagent-mocker, superagent-mock and nock.

Used for testing React components with Redux and Observable.

Usage

Setup

import request from 'superagent';
import nocker from 'superagent-nock';
const nock = nocker(request);

Use

Define the base url

nock('http://localhost')

The url to mock

nock.get('/events/10')

The result to return

nock.reply(httpStatus, responseBody, responseHeaders, foo)

or specify a function

nock.reply(function(url) {
   return {
      status: 200,
      result: responseBody,
      headers: {'access-token': 'example-JSON-Web-Token'},
      foo: {
        something,
      },
   };
})

Then, when you do a get request on the url, the callback return the specified result

nock('http://localhost')
   .get('/events/10')
   .reply(200, {
     id: 10,
      title: 'My event'
   });
 
request
   .get('http://localhost/events/10')
   .end((err, res) => {
      console.log(res.body); // { id: 10, title: 'My event'}
   };

Chaining

You can chain your urls to mock:

nock('http://localhost')
   .get('/events/10')
   .reply(200, {
        id: 10,
        title: 'My event'
   })
     .get('/members/1')
   .reply(404);

Install

You should probably install it in devDependencies (-D)

$ npm i -D superagent-nock

Next TODO

nock.delay nock.query

Readme

Keywords

Package Sidebar

Install

npm i superagent-nock

Weekly Downloads

195

Version

0.5.0

License

none

Unpacked Size

125 kB

Total Files

8

Last publish

Collaborators

  • evenium-llemalliaud
  • lowik