mock-mongoose-model
Version:
Mock mongoose model to use for unit testing.
55 lines (38 loc) • 1.62 kB
Markdown
for unit testing.
```sh
$ npm install --save mock-mongoose-model
```
```js
const assert = require('assert');
const sinon = require('sinon');
const MockMongooseModel = require('mock-mongoose-model');
// stub the mock
sinon.stub(MockMongooseModel, 'findOne').yields(null, { name: 'whiskers' });
// use it somewhere
MockMongooseModel.findOne({ name: 'whiskers' }, (err, doc) => {
assert(doc.name === 'whiskers');
});
// supports method chaining
sinon.stub(MockMongooseModel, 'exec').yields(null, { name: 'rex' });
MockMongooseModel.findById('1').select('name').exec((err, doc) => {
assert(doc.name === 'rex')
});
// for multiple mongoose models, use Object.assign({}, MockMongooseModel);
```
Apache-2.0 © [blugavere](http://benlugavere.com)
[ ]: https://badge.fury.io/js/mock-mongoose-model.svg
[ ]: https://npmjs.org/package/mock-mongoose-model
[ ]: https://travis-ci.org/blugavere/mock-mongoose-model.svg?branch=master
[ ]: https://travis-ci.org/blugavere/mock-mongoose-model
[ ]: https://david-dm.org/blugavere/mock-mongoose-model.svg?theme=shields.io
[ ]: https://david-dm.org/blugavere/mock-mongoose-model
[ ]: https://coveralls.io/repos/blugavere/mock-mongoose-model/badge.svg
[ ]: https://coveralls.io/r/blugavere/mock-mongoose-model
[![NPM version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![Dependency Status][daviddm-image]][daviddm-url]
[![Coverage percentage][coveralls-image]][coveralls-url]
> Mock mongoose model to use