knex/test/unit/dialects/postgres.js

41 lines
1.0 KiB
JavaScript
Raw Normal View History

var knex = require('../../../knex');
describe("Postgres Unit Tests", function() {
it('Validates searchPath as Array/String', function() {
var knexInstance = knex({
client: 'pg',
});
expect(function() {
knexInstance.client.setSchemaSearchPath(null, {});
}).to.throw(TypeError);
expect(function() {
knexInstance.client.setSchemaSearchPath(null, 4);
}).to.throw(TypeError);
var fakeQueryFn = function(expectedSearchPath) {
return {
query: function(sql, callback) {
try {
expect(sql).to.equal('set search_path to ' + expectedSearchPath);
callback(null);
} catch(error) {
callback(error);
}
}
};
};
return knexInstance.client.setSchemaSearchPath(fakeQueryFn('"public,knex"'), 'public,knex')
.then(function() {
return knexInstance.client.setSchemaSearchPath(fakeQueryFn('"public","knex"'), ['public', 'knex']);
})
.then(function() {
return knexInstance.client.setSchemaSearchPath(fakeQueryFn('"public"'), 'public')
});
});
});