Nitrogen Peroxide Monoxide
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    sinon-mongoosepublic

    sinon-mongoose NPM version Build Status Dependency Status Coverage percentage

    Extend Sinon stubs for Mongoose methods to test chained methods easily

    Installation

    $ npm install sinon-mongoose

    Usage

    require('sinon');
    require('sinon-mongoose');

    With Promises

    If you are using a version < 2 of sinon-mongoose we recommend you to use sinon-as-promised to have resolves and rejects methods on stubs.

    If you want to test this

    MongooseModel.find()
      .limit(10)
      .sort('-date')
      .exec()
      .then(function(result) {
        console.log(result);
      });

    Just mock and expects as usual and use chain to expects the chained methods. Finally call resolves or rejects (remember to require sinon-as-promised).

    sinon.mock(MongooseModel)
      .expects('find')
      .chain('limit').withArgs(10)
      .chain('sort').withArgs('-date')
      .chain('exec')
      .resolves('SOME_VALUE');

    See complete example

    With callbacks (no Promises)

    If you want to test this

    MongooseModel.find()
      .limit(10)
      .sort('-date')
      .exec(function(err, result) {
        console.log(result);
      });

    Just mock and expects as usually and use chain to expects the chained methods. Finally yields as always.

    sinon.mock(MongooseModel)
      .expects('find')
      .chain('limit').withArgs(10)
      .chain('sort').withArgs('-date')
      .chain('exec')
      .yields(null, 'SOME_VALUE');

    See complete example

    Contributors

    @jniemin

    License

    MIT © Gonzalo Aguirre

    install

    npm i sinon-mongoose

    Downloadslast 7 days

    3,995

    version

    2.1.1

    license

    MIT

    homepage

    http:

    repository

    github.com

    last publish

    collaborators

    • avatar