UNPKG

water-orm

Version:

A monolith version of Standalone waterline ORM

64 lines (45 loc) 1.51 kB
/** * Module Dependencies */ var path = require('path'); var Waterline = require(path.join(process.cwd(),'lib/waterline.js')); var _ = require('lodash'); var async = require('async'); var assert = require('assert'); // Require Fixtures var fixtures = { UserFixture: require('./fixtures/crud.fixture') }; ///////////////////////////////////////////////////// // TEST SETUP //////////////////////////////////////////////////// var waterline, ontology; before(function(done) { waterline = new Waterline(); Object.keys(fixtures).forEach(function(key) { waterline.loadCollection(fixtures[key]); }); var connections = { sql: _.clone(Connections.test) }; waterline.initialize({ adapters: { wl_tests: Adapter }, connections: connections }, function(err, _ontology) { if(err) return done(err); ontology = _ontology; Object.keys(_ontology.collections).forEach(function(key) { var globalName = key.charAt(0).toUpperCase() + key.slice(1); global.Sql[globalName] = _ontology.collections[key]; }); done(); }); }); after(function(done) { function dropCollection(item, next) { if(!Adapter.hasOwnProperty('drop')) return next(); ontology.collections[item].drop(function(err) { if(err) return next(err); next(); }); } async.each(Object.keys(ontology.collections), dropCollection, function(err) { if(err) return done(err); waterline.teardown(done); }); });