icedfrisby-nock
v2.1.0
Published
Concise support for mock requests in IcedFrisby
Downloads
4,194
Readme
icedfrisby-nock
Concise support for mock requests in IcedFrisby.
Usage
Compose icedfrisby with icedfrisby-nock.
const frisby = require('icedfrisby-nock')(require('icedfrisby'))
or, more semantically, using the delightful mixwith:
const { mix } = require('mixwith')
const frisby = mix(require('icedfrisby')).with(require('./icedfrisby-nock'))
Allow connections to localhost, but simulate failure for any other HTTP connections.
await frisby.create(...)
.get(...)
.networkOff()
.expectJSON(...)
.run()
Mock one request, and simulate failure for any other HTTP connection.
intercept()
automatically invokes networkOff()
.
await frisby.create(...)
.get(...)
.intercept(nock => nock('http://example.com')
.get('/foobar')
.reply(200))
.expectJSON(...)
.run()
Mock one request and allow all other HTTP connections.
await frisby.create(...)
.get(...)
.intercept(nock => nock('http://example.com')
.get('/foobar')
.reply(200))
.networkOn()
.expectJSON(...)
.run()
Mock one request only if a condition is truthy.
const someCondition = true
await frisby.create(...)
.get(...)
.interceptIf(someCondition, nock => nock('http://example.com')
.get('/foobar')
.reply(200))
.expectJSON(...)
.run()
When using intercept()
, interceptIf()
or networkOff()
, the plugin restores network access
when the test finishes.
To check if a Frisby object has an intercept set, inspect the hasIntercept
property.
To skip the test if an intercept is present, invoke .skipIfIntercepted()
on
the chain. This is useful with when invoked from a shared setup function or
when performing conditional intercepts.
For the Nock API, refer to the Nock docs.
For the IcedFrisby API, refer to the IcedFrisby docs.
Installation
npm install --save-dev icedfrisby nock icedfrisby-nock
Who's using this
This project was developed for testing Shields.io.
Contribute
- Issue Tracker: https://github.com/paulmelnikow/icedfrisby-nock/issues
- Source Code: https://github.com/paulmelnikow/icedfrisby-nock
Pull requests welcome!
Support
If you are having issues, please let me know.
License
The project is licensed under the MIT license.