/superagent-nock

Mock superagent http requests

Primary LanguageJavaScriptMIT LicenseMIT

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)

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