timestamp-mongoose
Version:
Mongoose plugin that automatically adds createdAt and updatedAt date properties
49 lines (41 loc) • 1.24 kB
JavaScript
/**
* @list dependencies
**/
var mocha = require('mocha');
var should = require('should');
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var timestamps = require('../');
mongoose = mongoose.createConnection('mongodb://localhost/timestamp-mongoose', { useNewUrlParser: true })
mongoose.on('error', function (err) {
console.error('MongoDB error: ' + err.message);
console.error('Make sure a mongoDB server is running and accessible by this application')
});
var UserSchema = new Schema({
email: String
})
UserSchema.plugin(timestamps)
var User = mongoose.model('User', UserSchema)
describe('User Schema', function () {
it('should have the method touch', function () {
UserSchema.methods.hasOwnProperty('touch').should.equal(true)
})
})
describe('timestamp', function () {
it('should be updated on calling the method touch', function (done) {
var user = new User({ email: "tyrion.lannister@westeros.com" })
var past = undefined
user.save(function (err) {
past = user.updatedAt
});
setTimeout(function () {
user.touch(function () {
user.updatedAt.should.above(past)
done()
})
}, 1500)
})
after(function () {
mongoose.close();
});
})