bootstrap.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. 'use strict';
  2. var express = require('express')
  3. , ROOT_DIR = __dirname + '/..'
  4. , MODEL_DIR = __dirname + '/../lib/models'
  5. , testDBUtil
  6. ;
  7. testDBUtil = {
  8. generateFixture: function (conn, model, fixture) {
  9. if (conn.readyState == 0) {
  10. return Promise.reject();
  11. }
  12. var m = conn.model(model);
  13. return new Promise(function(resolve, reject) {
  14. var createdModels = [];
  15. fixture.reduce(function(promise, entity) {
  16. return promise.then(function() {
  17. var newDoc = new m;
  18. Object.keys(entity).forEach(function(k) {
  19. newDoc[k] = entity[k];
  20. });
  21. return new Promise(function(r, rj) {
  22. newDoc.save(function(err, data) {
  23. createdModels.push(data);
  24. return r();
  25. });
  26. });
  27. });
  28. }, Promise.resolve()).then(function() {
  29. resolve(createdModels);
  30. });
  31. });
  32. }
  33. };
  34. global.express = express;
  35. global.ROOT_DIR = ROOT_DIR;
  36. global.MODEL_DIR = MODEL_DIR;
  37. global.testDBUtil = testDBUtil;