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

Commit 734067ee by Sascha Depold

only run multiple transactions for pg and mysql

1 parent 1460d490
Showing with 38 additions and 0 deletions
......@@ -503,6 +503,42 @@ describe(Support.getTestDialectTeaser("Sequelize"), function () {
})
})
if (dialect === 'sqlite') {
it("correctly scopes transaction from other connections", function(done) {
var TransactionTest = this.sequelize.define('TransactionTest', { name: DataTypes.STRING }, { timestamps: false })
, self = this
var count = function(transaction, callback) {
var sql = self.sequelize.getQueryInterface().QueryGenerator.selectQuery('TransactionTests', { attributes: [['count(*)', 'cnt']] })
self
.sequelize
.query(sql, null, { plain: true, raw: true, transaction: transaction })
.success(function(result) { callback(result.cnt) })
}
TransactionTest.sync({ force: true }).success(function() {
self.sequelize.transaction(function(t1) {
self.sequelize.query('INSERT INTO ' + qq('TransactionTests') + ' (' + qq('name') + ') VALUES (\'foo\');', null, { plain: true, raw: true, transaction: t1 }).success(function() {
count(null, function(cnt) {
expect(cnt).to.equal(0)
count(t1, function(cnt) {
expect(cnt).to.equal(1)
t1.commit().success(function() {
count(null, function(cnt) {
expect(cnt).to.equal(1)
done()
})
})
})
})
})
})
})
})
} else {
it("correctly handles multiple transactions", function(done) {
var TransactionTest = this.sequelize.define('TransactionTest', { name: DataTypes.STRING }, { timestamps: false })
, self = this
......@@ -552,6 +588,8 @@ describe(Support.getTestDialectTeaser("Sequelize"), function () {
})
})
})
}
})
})
})
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!