sails-postgresql
Version:
a PostgreSQL adapter for Waterline and Sails.js
74 lines (60 loc) • 1.8 kB
JavaScript
var assert = require('assert');
var Adapter = require('../../../lib/adapter');
var Support = require('../../support/bootstrap');
describe('Unit Tests ::', function() {
describe('Destroy', function() {
// Test Setup
before(function(done) {
Support.Setup('test_destroy', function(err) {
if (err) {
return done(err);
}
// Seed the database with two simple records.
Support.Seed('test_destroy', done);
});
});
after(function(done) {
Support.Teardown('test_destroy', done);
});
it('should ensure the record is actually deleted', function(done) {
var query = {
using: 'test_destroy',
criteria: {
where: {
fieldA: 'foo_2'
}
}
};
Adapter.destroy('test', query, function(err) {
if (err) {
return done(err);
}
Adapter.find('test', query, function(err, results) {
if (err) {
return done(err);
}
assert.equal(results.length, 0);
return done();
});
});
});
// Look into the bowels of the PG Driver and ensure the Create function handles
// it's connections properly.
it('should release its connection when completed', function(done) {
var manager = Adapter.datastores.test.manager;
var preConnectionsAvailable = manager.pool.idleCount;
var query = {
using: 'test_destroy',
criteria: {}
};
Adapter.destroy('test', query, function(err) {
if (err) {
return done(err);
}
var postConnectionsAvailable = manager.pool.idleCount;
assert.equal(preConnectionsAvailable, postConnectionsAvailable);
return done();
});
});
});
});