1.0.0 • Published 10 years ago

zock-js v1.0.0

Weekly downloads
3
License
MIT
Repository
github
Last release
10 years ago

Zock Build Status

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