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

    mongoose-mockpublic

    mongoose-mock

    Build Status

    Installation

      npm install mongoose-mock
    

    Usage

    mongoose-mock is used for swapping out mongoose in unit tests. Use something like proxyquire to change the dependency.

    model/User.js

    var mongoose = require('mongoose'),
      Schema = mongoose.Schema;
     
    var User = new Schema({});
    User.statics.createAndSave = function (props, callback) {
      var user = new User(props);
      user.save(function(err, result) {
        callback(err, result);
      });
      return user;
    };
     
    module.exports = mongoose.model('User', User);

    test/unit/model/User.js

    var mongooseMock = require('mongoose-mock'),
      proxyquire = require('proxyquire'),
      chai = require('chai'),
      expect = chai.expect,
      sinon = require('sinon'),
      sinonChai = require("sinon-chai");
    chai.use(sinonChai);
     
    describe('User', function () {
     
      var User;
     
      beforeEach(function () {
        User = proxyquire('../../../model/User', { 'mongoose': mongooseMock });
      });
     
      describe('.createAndSave', function () {
        it('saves the user', function () {
          var callback = sinon.spy();
          var user = User.createAndSave({ title: 'Mr', lastName: 'White' }, callback);
          expect(user.save).calledOnce;
        });
      });
    });

    install

    npm i mongoose-mock

    Downloadsweekly downloads

    422

    version

    0.4.0

    license

    MIT

    homepage

    github.com

    last publish

    collaborators

    • avatar