Nondigestible Purple Mayonnaise

    sinon-express-mock
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/sinon-express-mock package

    2.2.1 • Public • Published

    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

    Install

    npm i sinon-express-mock

    DownloadsWeekly Downloads

    31,236

    Version

    2.2.1

    License

    MIT

    Unpacked Size

    7.67 kB

    Total Files

    7

    Last publish

    Collaborators

    • danawoodman