bootstrap.js 1.0 KB

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