UNPKG

any-db-fake

Version:

Fake adapter factory for testing any-db related libraries

47 lines (41 loc) 1.07 kB
var EventEmitter = require('events').EventEmitter var extend = require('extend') module.exports = extend(createMockAdapter, { connection: { query: function(text, params, callback) { var q = this.adapter.createQuery(text, params, callback) process.nextTick(function() { if (q.callback) q.callback() q.emit('end') }) return q }, end: function() {}, }, createQuery: function(text, params, callback) { if (typeof text == 'object') { return text } if (typeof params == 'function') { callback = params params = [] } return extend(new EventEmitter(), this.query, { text: text, params: params, callback: callback, }) }, createConnection: function(_, cb) { var connection = extend(new EventEmitter(), this.connection, { adapter: this, }) if (cb) { process.nextTick(cb.bind(null, null, connection)) } return connection }, }) function createMockAdapter(overrides) { return extend(true, {}, createMockAdapter, overrides) }