Yuki Takei 7 лет назад
Родитель
Сommit
6866ead8ce
4 измененных файлов с 29 добавлено и 27 удалено
  1. 10 10
      src/test/bootstrap.js
  2. 5 7
      src/test/crowi/crowi.test.js
  3. 5 3
      src/test/util/slack.test.js
  4. 9 7
      src/test/utils.js

+ 10 - 10
src/test/bootstrap.js

@@ -4,24 +4,24 @@ process.env.NODE_ENV = 'test';
 
 require('module-alias/register');
 
-var express = require('express')
-  , ROOT_DIR = __dirname + '/../..'
-  , MODEL_DIR = __dirname + '/../../src/server/models'
-  , testDBUtil
-  ;
+const helpers = require('@commons/util/helpers');
+
+const express = require('express');
+
+let testDBUtil;
 
 testDBUtil = {
   generateFixture: function(conn, model, fixture) {
     if (conn.readyState == 0) {
       return Promise.reject();
     }
-    var m = conn.model(model);
+    const m = conn.model(model);
 
     return new Promise(function(resolve, reject) {
-      var createdModels = [];
+      const createdModels = [];
       fixture.reduce(function(promise, entity) {
         return promise.then(function() {
-          var newDoc = new m;
+          const newDoc = new m;
 
           Object.keys(entity).forEach(function(k) {
             newDoc[k] = entity[k];
@@ -42,6 +42,6 @@ testDBUtil = {
 };
 
 global.express = express;
-global.ROOT_DIR = ROOT_DIR;
-global.MODEL_DIR = MODEL_DIR;
+global.ROOT_DIR = helpers.root();
+global.MODEL_DIR = helpers.root('src/server/models');
 global.testDBUtil = testDBUtil;

+ 5 - 7
src/test/crowi/crowi.test.js

@@ -1,10 +1,8 @@
 const chai = require('chai')
   , expect = chai.expect
-  , sinon = require('sinon')
   , sinonChai = require('sinon-chai')
 
-  , path = require('path')
-  , rootPath = path.normalize(__dirname + '/../../../')
+  , helpers = require('@commons/util/helpers')
   ;
 chai.use(sinonChai);
 
@@ -15,21 +13,21 @@ describe('Test for Crowi application context', function() {
 
   describe('construction', function() {
     it('initialize crowi context', function() {
-      const crowi = new Crowi(rootPath, process.env);
+      const crowi = new Crowi(helpers.root(), process.env);
       expect(crowi).to.be.instanceof(Crowi);
       expect(crowi.version).to.equal(require('../../../package.json').version);
       expect(crowi.env).to.be.an('Object');
     });
 
     it('config getter, setter', function() {
-      const crowi = new Crowi(rootPath, process.env);
+      const crowi = new Crowi(helpers.root(), process.env);
       expect(crowi.getConfig()).to.deep.equals({});
       crowi.setConfig({test: 1});
       expect(crowi.getConfig()).to.deep.equals({test: 1});
     });
 
     it('model getter, setter', function() {
-      const crowi = new Crowi(rootPath, process.env);
+      const crowi = new Crowi(helpers.root(), process.env);
       // set
       crowi.model('hoge', { fuga: 1 });
       expect(crowi.model('hoge')).to.deep.equals({ fuga: 1 });
@@ -41,7 +39,7 @@ describe('Test for Crowi application context', function() {
       mongoose.disconnect(); // avoid error of Trying to open unclosed connection
     });
     it('setup completed', function(done) {
-      const crowi = new Crowi(rootPath, process.env);
+      const crowi = new Crowi(helpers.root(), process.env);
       // set
       const p = crowi.setupDatabase()
       expect(p).to.instanceof(Promise);

+ 5 - 3
src/test/util/slack.test.js

@@ -1,4 +1,4 @@
-var chai = require('chai')
+const chai = require('chai')
   , expect = chai.expect
   , sinon = require('sinon')
   , sinonChai = require('sinon-chai')
@@ -7,8 +7,10 @@ var chai = require('chai')
 chai.use(sinonChai);
 
 describe('Slack Util', function () {
-  var crowi = new (require(ROOT_DIR + '/src/server/crowi'))(ROOT_DIR, process.env);
-  var slack = require(crowi.libDir + '/util/slack')(crowi);
+  const helpers = require('@commons/util/helpers');
+  const Crowi = require('@server/crowi');
+  const crowi = new Crowi(helpers.root(), process.env);
+  const slack = require(crowi.libDir + '/util/slack')(crowi);
 
   it('post comment method exists', function() {
     expect(slack).to.respondTo('postComment');

+ 9 - 7
src/test/utils.js

@@ -1,10 +1,12 @@
 'use strict';
 
-var mongoUri = process.env.MONGOLAB_URI || process.env.MONGOHQ_URL || process.env.MONGO_URI || 'mongodb://localhost/growi_test'
+const mongoUri = process.env.MONGOLAB_URI || process.env.MONGOHQ_URL || process.env.MONGO_URI || 'mongodb://localhost/growi_test'
   , mongoose= require('mongoose')
   , fs = require('fs')
+  , helpers = require('@commons/util/helpers')
+  , Crowi = require('@server/crowi')
+  , crowi = new Crowi(helpers.root(), process.env)
   , models = {}
-  , crowi = new (require(ROOT_DIR + '/src/server/crowi'))(ROOT_DIR, process.env)
   ;
 
 mongoose.Promise = global.Promise;
@@ -45,17 +47,17 @@ after('Close database connection', function (done) {
 });
 
 // Setup Models
-fs.readdirSync(MODEL_DIR).forEach(function(file) {
+fs.readdirSync(helpers.root('src/server/models')).forEach(function(file) {
   if (file.match(/^([\w-]+)\.js$/)) {
-    var name = RegExp.$1;
+    let name = RegExp.$1;
     if (name === 'index') {
       return;
     }
-    var modelName = '';
+    let modelName = '';
     name.split('-').map(splitted => {
       modelName += (splitted.charAt(0).toUpperCase() + splitted.slice(1));
     });
-    models[modelName] = require(MODEL_DIR + '/' + file)(crowi);
+    models[modelName] = require(`@server/models/${file}`)(crowi);
   }
 });
 
@@ -64,4 +66,4 @@ crowi.models = models;
 module.exports = {
   models: models,
   mongoose: mongoose,
-}
+};