Skip to content

Instantly share code, notes, and snippets.

@bendrucker
Created March 7, 2014 01:12
Show Gist options
  • Save bendrucker/9403147 to your computer and use it in GitHub Desktop.
Save bendrucker/9403147 to your computer and use it in GitHub Desktop.
halting events in bookshelf
module.exports = Bookshelf.Model.extend({
initialize: function () {
this.on('saving', this.validate);
},
validate: function () {}
});
describe('Model events', function () {
var model;
beforeEach(function () {
model = new Model();
});
it('should permit saving by default', function () {
return model.save();
});
it('halts saving if validation throws', function () {
var err = new Error();
sinon.stub(model.validate).throws(err);
return expect(model.save())
.to.be.rejectedWith(err);
});
it('halts saving if the validation returns a rejected promise', function () {
var err = new Error();
sinon.stub(model.validate).returns(Promise.reject(err));
return expect(model.save())
.to.be.rejectedWith(err);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment