2013-11-25 02:00:12 -05:00

63 lines
1.5 KiB
JavaScript

var _ = require('lodash');
var Knex = require('../../knex');
var Promise = testPromise;
var config = require(process.env.KNEX_TEST || './config');
var pool = {
afterCreate: function(connection, callback) {
expect(connection).to.have.property('__cid');
callback(null, connection);
},
beforeDestroy: function(connection) {
expect(connection).to.have.property('__cid');
}
};
var MySQL = Knex.initialize({
client: 'mysql',
connection: config.mysql,
pool: _.extend({}, pool, {
afterCreate: function(connection, callback) {
Promise.promisify(connection.query, connection)("SET sql_mode='TRADITIONAL';", []).then(function() {
callback(null, connection);
});
}
})
});
var PostgreSQL = Knex.initialize({
client: 'postgres',
connection: config.postgres,
pool: pool
});
var SQLite3 = Knex.initialize({
client: 'sqlite3',
connection: config.sqlite3,
pool: pool
});
_.each([MySQL, PostgreSQL, SQLite3], function(knex) {
describe('Dialect: ' + knex.client.dialect, function() {
this.dialect = knex.client.dialect;
require('./schema')(knex);
require('./migrate')(knex);
require('./builder/inserts')(knex);
require('./builder/selects')(knex);
require('./builder/unions')(knex);
require('./builder/joins')(knex);
require('./builder/aggregate')(knex);
require('./builder/updates')(knex);
require('./builder/transaction')(knex);
require('./builder/deletes')(knex);
require('./builder/additional')(knex);
});
});