Skip to content
This repository has been archived by the owner on Nov 3, 2022. It is now read-only.

Commit

Permalink
initial build
Browse files Browse the repository at this point in the history
  • Loading branch information
genediazjr committed Nov 19, 2016
1 parent 5fbe428 commit f9ba8db
Show file tree
Hide file tree
Showing 4 changed files with 123 additions and 7 deletions.
19 changes: 17 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,20 @@ node_js:
- "6"
- "4"

sudo: false
after_script: NODE_ENV=test lab -r lcov | ./node_modules/.bin/coveralls
sudo: required

services:
- postgresql

env:
- CC=clang CXX=clang++ npm_config_clang=1

addons:
postgresql: "9.5"
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8

after_script: NODE_ENV=test lab --coverage-exclude static -r lcov | ./node_modules/.bin/coveralls
29 changes: 29 additions & 0 deletions lib/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
'use strict';

const internals = {};


exports.register = (server, options, next) => {

try {
internals.bookshelf = require('bookshelf')(require('knex')(options.knex));
internals.knex = internals.bookshelf.knex;

server.expose('bookshelf', internals.bookshelf);
server.expose('knex', internals.knex);
}
catch (err) {

return next(err);
}

return next();
};


exports.ext = internals;


exports.register.attributes = {
pkg: require('../package.json')
};
10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@
"test": "lab -c -v -L -a code",
"test-cover": "lab -c -v -L -a code -r html -o ./coverage.html -L && open ./coverage.html"
},
"peerDependencies": {
"bookshelf": ">=0.10.x",
"knex": ">=0.12.x"
"dependencies": {
"bookshelf": "0.10.x",
"knex": "0.12.x"
},
"devDependencies": {
"proxyquire": "1.7.x",
"coveralls": "2.11.x",
"hapi": "15.2.x",
"code": "4.0.x",
"lab": "11.1.x"
"lab": "11.1.x",
"pg": "6.1.x"
}
}
72 changes: 72 additions & 0 deletions test/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
'use strict';

const Hapi = require('hapi');
const Code = require('code');
const Lab = require('lab');
const Plugin = require('..');

const expect = Code.expect;
const lab = exports.lab = Lab.script();
const beforeEach = lab.beforeEach;
const describe = lab.describe;
const it = lab.it;

describe('lib', () => {

let server;

beforeEach((done) => {

server = new Hapi.Server();
server.connection();
server.initialize();

return done();
});

const register = (options, next) => {

server.register({
register: Plugin,
options: options
}, (err) => {

return next(err);
});
};

it('errors if options are invalid', (done) => {

register({
test: 'value'
}, (err) => {

expect(err).to.exist();

return done();
});
});

it('registers with option', (done) => {

register({
knex: {
client: 'pg',
searchPath: 'public',
connection: 'postgres://postgres:postgres@localhost:5432/postgres'
}
}, (err) => {

expect(err).to.not.exist();
expect(server.plugins.knekshelf.bookshelf).to.exist();
expect(server.plugins.knekshelf.knex).to.exist();

const Reload = require('..');

expect(Reload.ext.bookshelf).to.exist();
expect(Reload.ext.knex).to.exist();

return done();
});
});
});

0 comments on commit f9ba8db

Please sign in to comment.