Yuki Takei 4 лет назад
Родитель
Сommit
b168b0b16d

+ 1 - 0
packages/app/.eslintrc.js

@@ -23,5 +23,6 @@ module.exports = {
     '@typescript-eslint/no-use-before-define': ['warn'],
     '@typescript-eslint/no-this-alias': ['warn'],
     '@typescript-eslint/no-var-requires': ['warn'],
+    'jest/no-done-callback': ['warn'],
   },
 };

+ 12 - 7
packages/app/jest.config.js

@@ -38,19 +38,24 @@ module.exports = {
     // },
   ],
 
+  // Automatically clear mock calls and instances between every test
+  clearMocks: true,
 
   // Indicates whether the coverage information should be collected while executing the test
-  // collectCoverage: false,
+  collectCoverage: true,
 
   // An array of glob patterns indicating a set of files for which coverage information should be collected
-  collectCoverageFrom: [
-    'src/client/**/*.js',
-    'src/lib/**/*.js',
-    'src/migrations/**/*.js',
-    'src/server/**/*.js',
-  ],
+  // collectCoverageFrom: undefined,
 
   // The directory where Jest should output its coverage files
   coverageDirectory: 'coverage',
 
+  // An array of regexp pattern strings used to skip coverage collection
+  coveragePathIgnorePatterns: [
+    'index.ts',
+    '/config/',
+    '/resource/',
+    '/node_modules/',
+  ],
+
 };

+ 0 - 1
packages/app/src/migrations/20200827045151-remove-layout-setting.js

@@ -3,7 +3,6 @@ import mongoose from 'mongoose';
 import Config from '~/server/models/config';
 import config from '^/config/migrate';
 import loggerFactory from '~/utils/logger';
-import { getModelSafely } from '~/server/util/mongoose-utils';
 
 const logger = loggerFactory('growi:migrate:remove-layout-setting');
 

+ 2 - 2
packages/app/src/test/config/migrate.test.js

@@ -1,3 +1,5 @@
+import { mongoUri, mongodb } from '^/config/migrate';
+
 describe('config/migrate.js', () => {
 
   beforeEach(async(done) => {
@@ -23,8 +25,6 @@ describe('config/migrate.js', () => {
         };
       });
 
-      const { mongoUri, mongodb } = require('@root/config/migrate');
-
       jest.dontMock('~/utils/mongoose-utils');
 
       expect(mongoUri).toBe(MONGO_URI);

+ 3 - 1
packages/app/src/test/crowi/crowi.test.js

@@ -1,3 +1,5 @@
+import packageJson from '^/package.json';
+
 const { getInstance } = require('../setup-crowi');
 
 describe('Test for Crowi application context', () => {
@@ -5,7 +7,7 @@ describe('Test for Crowi application context', () => {
   describe('construction', () => {
     test('initialize crowi context', async() => {
       const crowi = await getInstance();
-      expect(crowi.version).toBe(require('@root/package.json').version);
+      expect(crowi.version).toBe(packageJson.version);
       expect(typeof crowi.env).toBe('object');
     });
 

+ 0 - 2
packages/app/src/test/models/user.test.js

@@ -25,7 +25,6 @@ describe('User', () => {
 
   describe('Create and Find.', () => {
     describe('The user', () => {
-      /* eslint-disable jest/no-test-callback */
       test('should created with createUserByEmailAndPassword', (done) => {
         User.createUserByEmailAndPassword('Example2 for User Test', 'usertest2', 'usertest2@example.com', 'usertest2pass', 'en_US', (err, userData) => {
           expect(err).toBeNull();
@@ -34,7 +33,6 @@ describe('User', () => {
           done();
         });
       });
-      /* eslint-enable jest/no-test-callback */
 
       test('should be found by findUserByUsername', async() => {
         const user = await User.findUserByUsername('usertest');

+ 2 - 2
packages/app/src/test/setup.js

@@ -1,6 +1,6 @@
-const mongoose = require('mongoose');
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 
-const { getMongoUri, mongoOptions } = require('~/utils/mongoose-utils');
+const mongoose = require('mongoose');
 
 mongoose.Promise = global.Promise;