UNPKG

@incdevco/framework

Version:
134 lines (72 loc) 2.6 kB
var Expect = require('chai').expect; var Mock = require('../../mock'); var Connection = require('./index'); var Sql = require('../sql'); describe('pg connection', function () { 'use strict'; var client, connection, expected, mock; beforeEach(function () { client = {}; connection = new Connection(client); expected = 'expected'; mock = new Mock(); }); describe('delete', function() { it('should', function () { var result = connection.delete(); Expect(result).to.be.instanceof(Sql.Delete,'query'); }); }); describe('insert', function() { it('should', function () { var result = connection.insert('data'); Expect(result).to.be.instanceof(Sql.Insert, 'query'); Expect(result._data).to.equal('data', 'data'); }); }); describe('log', function() { it('should pass input to logger', function (done) { connection.logger = {}; mock.mock(connection.logger).expect('log') .with('test') .willReturn(true); connection.log('test'); mock.done(done); }); }); describe('query', function() { it('should call query on client', function (done) { var sql = 'sql', inserts = []; mock.mock(connection).expect('log') .with('query', 'sql', []) .willReturn(true); mock.mock(client).expect('query') .with(sql, inserts) .willReturn(expected); Expect(connection.query(sql, inserts)).to.equal(expected, 'actual'); mock.done(done); }); }); describe('release', function() { it('should call release on client', function (done) { mock.mock(client).expect('release') .willReturn(expected); Expect(connection.release()).to.equal(expected, 'actual'); mock.done(done); }); }); describe('select', function() { it('should', function () { var result = connection.select('*'); Expect(result).to.be.instanceof(Sql.Select, 'query'); Expect(result._select).to.equal('*', 'data'); }); }); describe('update', function() { it('should', function () { var result = connection.update('table'); Expect(result).to.be.instanceof(Sql.Update, 'query'); Expect(result._table).to.equal('table', 'table'); }); }); });