Package Exports
- sinon-express-mock
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sinon-express-mock) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
sinon-express-mock
Simple request and response mock objects to pass into Express routes when testing using Sinon.
The mock objects attach Sinon spys to request methods. See src/index.js
for a full list of stubbed out methods.
Install
npm install --save-dev sinon-express-mock sinon
Depends on:
- Node v4+ (or
Object.assign
support needed) - Sinon
Usage
Contents of src/foo.js
:
export default (req, res) => {
res.json({ foo: req.body.foo })
}
Contents of test/foo-test.js
:
import route from '../src/foo'
import chai, { expect } from 'chai'
import sinonChai from 'sinon-chai'
import { mockReq, mockRes } from 'sinon-express-mock'
chai.use(sinonChai);
describe('my route', () => {
it('should foo the bar', () => {
const request = {
body: {
foo: 'bar',
},
}
const req = mockReq(request)
const res = mockRes()
route(req, res)
expect(res.json).to.be.calledWith({ foo: request.body.foo })
})
})
Changelog
v2.0.3
res.write()
is now stubbed.
v2.0.0
- Make sinon a
peerDependency
.
v1.3.1
- Bundle fix from #3
pre v1.3.1
- Changelog didn't exist! 😱
Credits
Dana Woodman and contributors
License
MIT