不要怂,就是干,撸起袖子干!

Commit b4ec3624 by Sascha Gehlich

Make sure that before and after hooks are called

1 parent 00246ecf
Showing with 31 additions and 1 deletions
...@@ -6995,20 +6995,24 @@ describe(Support.getTestDialectTeaser("Hooks"), function () { ...@@ -6995,20 +6995,24 @@ describe(Support.getTestDialectTeaser("Hooks"), function () {
}) })
}) })
describe('passing DAO instances', function() { describe.only('passing DAO instances', function() {
describe('beforeValidate / afterValidate', function() { describe('beforeValidate / afterValidate', function() {
it('should pass a DAO instance to the hook', function(done){ it('should pass a DAO instance to the hook', function(done){
var beforeHooked = false
var afterHooked = false
var User = this.sequelize.define('User', { var User = this.sequelize.define('User', {
username: DataTypes.STRING username: DataTypes.STRING
}, { }, {
hooks: { hooks: {
beforeValidate: function(user, fn) { beforeValidate: function(user, fn) {
expect(user).to.be.instanceof(User.DAO) expect(user).to.be.instanceof(User.DAO)
beforeHooked = true
fn() fn()
}, },
afterValidate: function(user, fn) { afterValidate: function(user, fn) {
expect(user).to.be.instanceof(User.DAO) expect(user).to.be.instanceof(User.DAO)
afterHooked = true
fn() fn()
} }
} }
...@@ -7016,6 +7020,8 @@ describe(Support.getTestDialectTeaser("Hooks"), function () { ...@@ -7016,6 +7020,8 @@ describe(Support.getTestDialectTeaser("Hooks"), function () {
User.sync({ force: true }).success(function() { User.sync({ force: true }).success(function() {
User.create({ username: 'bob' }).success(function(user) { User.create({ username: 'bob' }).success(function(user) {
expect(beforeHooked).to.be.true
expect(afterHooked).to.be.true
done() done()
}) })
}) })
...@@ -7024,16 +7030,20 @@ describe(Support.getTestDialectTeaser("Hooks"), function () { ...@@ -7024,16 +7030,20 @@ describe(Support.getTestDialectTeaser("Hooks"), function () {
describe('beforeCreate / afterCreate', function() { describe('beforeCreate / afterCreate', function() {
it('should pass a DAO instance to the hook', function(done){ it('should pass a DAO instance to the hook', function(done){
var beforeHooked = false
var afterHooked = false
var User = this.sequelize.define('User', { var User = this.sequelize.define('User', {
username: DataTypes.STRING username: DataTypes.STRING
}, { }, {
hooks: { hooks: {
beforeCreate: function(user, fn) { beforeCreate: function(user, fn) {
expect(user).to.be.instanceof(User.DAO) expect(user).to.be.instanceof(User.DAO)
beforeHooked = true
fn() fn()
}, },
afterCreate: function(user, fn) { afterCreate: function(user, fn) {
expect(user).to.be.instanceof(User.DAO) expect(user).to.be.instanceof(User.DAO)
afterHooked = true
fn() fn()
} }
} }
...@@ -7041,6 +7051,8 @@ describe(Support.getTestDialectTeaser("Hooks"), function () { ...@@ -7041,6 +7051,8 @@ describe(Support.getTestDialectTeaser("Hooks"), function () {
User.sync({ force: true }).success(function() { User.sync({ force: true }).success(function() {
User.create({ username: 'bob' }).success(function(user) { User.create({ username: 'bob' }).success(function(user) {
expect(beforeHooked).to.be.true
expect(afterHooked).to.be.true
done() done()
}) })
}) })
...@@ -7049,16 +7061,20 @@ describe(Support.getTestDialectTeaser("Hooks"), function () { ...@@ -7049,16 +7061,20 @@ describe(Support.getTestDialectTeaser("Hooks"), function () {
describe('beforeDestroy / afterDestroy', function() { describe('beforeDestroy / afterDestroy', function() {
it('should pass a DAO instance to the hook', function(done){ it('should pass a DAO instance to the hook', function(done){
var beforeHooked = false
var afterHooked = false
var User = this.sequelize.define('User', { var User = this.sequelize.define('User', {
username: DataTypes.STRING username: DataTypes.STRING
}, { }, {
hooks: { hooks: {
beforeDestroy: function(user, fn) { beforeDestroy: function(user, fn) {
expect(user).to.be.instanceof(User.DAO) expect(user).to.be.instanceof(User.DAO)
beforeHooked = true
fn() fn()
}, },
afterDestroy: function(user, fn) { afterDestroy: function(user, fn) {
expect(user).to.be.instanceof(User.DAO) expect(user).to.be.instanceof(User.DAO)
afterHooked = true
fn() fn()
} }
} }
...@@ -7067,6 +7083,8 @@ describe(Support.getTestDialectTeaser("Hooks"), function () { ...@@ -7067,6 +7083,8 @@ describe(Support.getTestDialectTeaser("Hooks"), function () {
User.sync({ force: true }).success(function() { User.sync({ force: true }).success(function() {
User.create({ username: 'bob' }).success(function(user) { User.create({ username: 'bob' }).success(function(user) {
user.destroy().success(function() { user.destroy().success(function() {
expect(beforeHooked).to.be.true
expect(afterHooked).to.be.true
done() done()
}) })
}) })
...@@ -7076,16 +7094,20 @@ describe(Support.getTestDialectTeaser("Hooks"), function () { ...@@ -7076,16 +7094,20 @@ describe(Support.getTestDialectTeaser("Hooks"), function () {
describe('beforeDelete / afterDelete', function() { describe('beforeDelete / afterDelete', function() {
it('should pass a DAO instance to the hook', function(done){ it('should pass a DAO instance to the hook', function(done){
var beforeHooked = false
var afterHooked = false
var User = this.sequelize.define('User', { var User = this.sequelize.define('User', {
username: DataTypes.STRING username: DataTypes.STRING
}, { }, {
hooks: { hooks: {
beforeDelete: function(user, fn) { beforeDelete: function(user, fn) {
expect(user).to.be.instanceof(User.DAO) expect(user).to.be.instanceof(User.DAO)
beforeHooked = true
fn() fn()
}, },
afterDelete: function(user, fn) { afterDelete: function(user, fn) {
expect(user).to.be.instanceof(User.DAO) expect(user).to.be.instanceof(User.DAO)
afterHooked = true
fn() fn()
} }
} }
...@@ -7094,6 +7116,8 @@ describe(Support.getTestDialectTeaser("Hooks"), function () { ...@@ -7094,6 +7116,8 @@ describe(Support.getTestDialectTeaser("Hooks"), function () {
User.sync({ force: true }).success(function() { User.sync({ force: true }).success(function() {
User.create({ username: 'bob' }).success(function(user) { User.create({ username: 'bob' }).success(function(user) {
user.destroy().success(function() { user.destroy().success(function() {
expect(beforeHooked).to.be.true
expect(afterHooked).to.be.true
done() done()
}) })
}) })
...@@ -7103,16 +7127,20 @@ describe(Support.getTestDialectTeaser("Hooks"), function () { ...@@ -7103,16 +7127,20 @@ describe(Support.getTestDialectTeaser("Hooks"), function () {
describe('beforeUpdate / afterUpdate', function() { describe('beforeUpdate / afterUpdate', function() {
it('should pass a DAO instance to the hook', function(done){ it('should pass a DAO instance to the hook', function(done){
var beforeHooked = false
var afterHooked = false
var User = this.sequelize.define('User', { var User = this.sequelize.define('User', {
username: DataTypes.STRING username: DataTypes.STRING
}, { }, {
hooks: { hooks: {
beforeUpdate: function(user, fn) { beforeUpdate: function(user, fn) {
expect(user).to.be.instanceof(User.DAO) expect(user).to.be.instanceof(User.DAO)
beforeHooked = true
fn() fn()
}, },
afterUpdate: function(user, fn) { afterUpdate: function(user, fn) {
expect(user).to.be.instanceof(User.DAO) expect(user).to.be.instanceof(User.DAO)
afterHooked = true
fn() fn()
} }
} }
...@@ -7121,6 +7149,8 @@ describe(Support.getTestDialectTeaser("Hooks"), function () { ...@@ -7121,6 +7149,8 @@ describe(Support.getTestDialectTeaser("Hooks"), function () {
User.sync({ force: true }).success(function() { User.sync({ force: true }).success(function() {
User.create({ username: 'bob' }).success(function(user) { User.create({ username: 'bob' }).success(function(user) {
user.save({ username: 'bawb' }).success(function() { user.save({ username: 'bawb' }).success(function() {
expect(beforeHooked).to.be.true
expect(afterHooked).to.be.true
done() done()
}) })
}) })
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!