1.0.0 • Published 10 years ago
zock-js v1.0.0
Zock 
Zock is an HTTP mocking library for both node.js and the browser
Similar to Nock (but isomorphic)
Contributions weclome!
Install
$ npm install zock
Usage
require('coffee-script/register') // register coffee-script
var request = require('clay-request')
var zock = require('zock')
zock
.base('http://baseurl.com')
.get('/test')
.reply(200, {hello: 'world'})
.get('/anotherRoute')
.reply(200, {hello: 'world'})
.post('postroute')
.reply({hello: 'post'})
.get('/test/:name')
.reply(function(req) {
// req.params = path params
// req.query = query params
// req.body = post body (only supports JSON at the moment)
return req
})
.withOverride(function() {
request('http://baseurl.com/test')
.then(function (result) {
// result = {hello: 'world'}
})
})
// permanent browser
window.XMLHttpRequest = zock
.base('http://baseurl.com')
.get('/test')
.reply(200, {hello: 'world'})
.XMLHttpRequest
window.fetch = zock
.base('http://baseurl.com')
.get('/test')
.reply(200, {hello: 'world'})
.fetch()
// permanent node.js
http = require 'http'
http.request = zock
.base('http://baseurl.com')
.get('/test')
.reply(200, {hello: 'world'})
.nodeRequest()
base({String} path)
Set the base url that the following routes will be based from
get({String} route)
Begin defining a mocked GET request
post({String} route)
Begin defining a mocked POST request
put({String} route)
Begin defining a mocked PUT request
reply({String} status=200, {Object|Function} response)
Define reply for the previously defined mock request
logger({Function} logger)
Bind a logging function for debugging
zock
.logger(function(debug) {
console.log(debug)
})
XMLHttpRequest
Return special XMLHttpRequest stub object based on previous setup
fetch
Return special fetch stub object based on previous setup
nodeRequest
Return special http.request stub object based on previous setup
withOverrides({Function} testCode)
runs the function passed in with global overrides enabled, and removes after the function returns
Supports promises
Contributing
$ npm -d install
$ npm test
Changelog
0.1.3 -> 0.2.0
- rename withOverride to withOverrides
- add window.fetch support
1.0.0
10 years ago