feat: add is active check for transaction

This commit is contained in:
jannyHou 2020-01-16 14:57:53 -05:00
parent 61766bb0da
commit 40b06b1467
2 changed files with 33 additions and 0 deletions

View File

@ -134,3 +134,10 @@ Transaction.begin = function(connector, options, cb) {
});
if (cb.promise) return cb.promise;
};
/**
* Check whether a transaction has an active connection.
*/
Transaction.prototype.isActive = function() {
return !!this.connection;
}

View File

@ -210,6 +210,32 @@ describe('transactions', function() {
});
});
describe('isActive', function() {
it('returns true when connection is active', function(done) {
Post.beginTransaction({
isolationLevel: Transaction.READ_COMMITTED,
timeout: 1000,
},
function(err, tx) {
if (err) return done(err);
expect(tx.isActive()).to.equal(true);
return done();
});
});
it('returns false when connection is not active', function(done) {
Post.beginTransaction({
isolationLevel: Transaction.READ_COMMITTED,
timeout: 1000,
},
function(err, tx) {
if (err) return done(err);
delete tx.connection;
expect(tx.isActive()).to.equal(false);
return done();
});
});
});
describe('transaction instance', function() {
function TestTransaction(connector, connection) {
this.connector = connector;