bootstrap.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. process.env.NODE_ENV = 'test';
  2. require('module-alias/register');
  3. const helpers = require('@commons/util/helpers');
  4. const express = require('express');
  5. const testDBUtil = {
  6. generateFixture(conn, model, fixture) {
  7. if (conn.readyState === 0) {
  8. return Promise.reject();
  9. }
  10. const m = conn.model(model);
  11. return new Promise(((resolve) => {
  12. const createdModels = [];
  13. fixture.reduce((promise, entity) => {
  14. return promise.then(() => {
  15. const newDoc = new m(); // eslint-disable-line new-cap
  16. Object.keys(entity).forEach((k) => {
  17. newDoc[k] = entity[k];
  18. });
  19. return new Promise(((r) => {
  20. newDoc.save((err, data) => {
  21. createdModels.push(data);
  22. return r();
  23. });
  24. }));
  25. });
  26. }, Promise.resolve()).then(() => {
  27. resolve(createdModels);
  28. });
  29. }));
  30. },
  31. };
  32. global.express = express;
  33. global.ROOT_DIR = helpers.root();
  34. global.MODEL_DIR = helpers.root('src/server/models');
  35. global.testDBUtil = testDBUtil;