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

Commit e948dc8f by Jan Aagaard Meier

Refactor trigger.test

1 parent 7f0d8640
Showing with 13 additions and 51 deletions
...@@ -6,7 +6,6 @@ var chai = require('chai') ...@@ -6,7 +6,6 @@ var chai = require('chai')
, Support = require(__dirname + '/../support') , Support = require(__dirname + '/../support')
, current = Support.sequelize; , current = Support.sequelize;
if (current.dialect.supports.tmpTableTrigger) { if (current.dialect.supports.tmpTableTrigger) {
describe(Support.getTestDialectTeaser('Model'), function() { describe(Support.getTestDialectTeaser('Model'), function() {
describe('trigger', function() { describe('trigger', function() {
...@@ -32,78 +31,41 @@ if (current.dialect.supports.tmpTableTrigger) { ...@@ -32,78 +31,41 @@ if (current.dialect.supports.tmpTableTrigger) {
},{ },{
hasTrigger:true hasTrigger:true
}); });
});
it('should return output rows after insert', function() {
return User.sync({force: true}).bind(this).then(function () { return User.sync({force: true}).bind(this).then(function () {
return this.sequelize.query(triggerQuery,{type:this.sequelize.QueryTypes.RAW}); return this.sequelize.query(triggerQuery,{type:this.sequelize.QueryTypes.RAW});
}).then(function(){
return User.create({
username: 'triggertest'
});
}).then(function () {
return User.find({username: 'triggertest'}).then(function(user) {
expect(user.username).to.equal('triggertest');
});
}); });
}); });
it('should return output rows after bulk insert', function() { it('should return output rows after insert', function() {
return User.sync({force: true}).bind(this).then(function () { return User.create({
return this.sequelize.query(triggerQuery,{type:this.sequelize.QueryTypes.RAW}); username: 'triggertest'
}).then(function(){
return User.bulkCreate([
{username: 'shak'},
{username: 'mike'},
{username: 'blah'},
{username: 'argh'}]);
}).then(function () { }).then(function () {
return User.findAll().then(function(users) { return expect(User.find({username: 'triggertest'})).to.eventually.have.property('username').which.equals('triggertest');
expect(users.length).to.equal(4);
});
}); });
}); });
it('should return output rows after update', function() { it('should return output rows after update', function() {
return User.sync({force: true}).bind(this).then(function () { return User.create({
return this.sequelize.query(triggerQuery,{type:this.sequelize.QueryTypes.RAW}); username: 'triggertest'
}).then(function(){ }).then(function(user){
return User.create({
username: 'triggertest'
});
})
.then(function(user){
user.username = 'usernamechanged'; user.username = 'usernamechanged';
return user.save(); return user.save();
}) })
.then(function (user) { .then(function (user) {
return User.find({username: 'usernamechanged'}).then(function(user) { return expect(User.find({username: 'usernamechanged'})).to.eventually.have.property('username').which.equals('usernamechanged');
expect(user.username).to.equal('usernamechanged');
});
}); });
}); });
it('should successfully delete with a trigger on the table', function() { it('should successfully delete with a trigger on the table', function() {
return User.sync({force: true}).bind(this).then(function () { return User.create({
return this.sequelize.query(triggerQuery,{type:this.sequelize.QueryTypes.RAW}); username: 'triggertest'
}).then(function(){ }).then(function(user){
return User.create({
username: 'triggertest'
});
})
.then(function(user){
return user.destroy(); return user.destroy();
}) }).then(function (user) {
.then(function (user) { return expect(User.find({username: 'triggertest'})).to.eventually.be.null;
return User.find({username: 'triggertest'}).then(function(user) {
/* jshint expr:true */
expect(user).to.be.null;
});
}); });
}); });
}); });
}); });
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!