diff --git a/jest.base-config.front.js b/jest.base-config.front.js index f75a33cff5..99c489b3e4 100644 --- a/jest.base-config.front.js +++ b/jest.base-config.front.js @@ -1,4 +1,4 @@ -'use strict' +'use strict'; const IS_EE = process.env.IS_EE === 'true'; @@ -6,25 +6,27 @@ const moduleNameMapper = { '.*\\.(css|less|styl|scss|sass)$': '/test/config/front/mocks/cssModule.js', '.*\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|ico)$': '/test/config/front/mocks/image.js', - '^ee_else_ce(/.*)$': IS_EE ? [ - '/packages/core/admin/ee/admin$1', - '/packages/core/content-manager/ee/admin/src$1', - '/packages/core/content-type-builder/ee/admin/src$1', - '/packages/core/upload/ee/admin/src$1', - '/packages/core/email/ee/admin/src$1', - '/packages/plugins/*/ee/admin/src$1', - ] + '^ee_else_ce(/.*)$': IS_EE + ? [ + '/packages/core/admin/ee/admin$1', + '/packages/core/content-manager/ee/admin/src$1', + '/packages/core/content-type-builder/ee/admin/src$1', + '/packages/core/upload/ee/admin/src$1', + '/packages/core/email/ee/admin/src$1', + '/packages/plugins/*/ee/admin/src$1', + ] : [ - '/packages/core/admin/admin/src$1', - '/packages/core/content-manager/admin/src$1', - '/packages/core/content-type-builder/admin/src$1', - '/packages/core/upload/admin/src$1', - '/packages/core/email/admin/src$1', - '/packages/plugins/*/admin/src$1', - ], + '/packages/core/admin/admin/src$1', + '/packages/core/content-manager/admin/src$1', + '/packages/core/content-type-builder/admin/src$1', + '/packages/core/upload/admin/src$1', + '/packages/core/email/admin/src$1', + '/packages/plugins/*/admin/src$1', + ], }; module.exports = { + rootDir: __dirname, moduleNameMapper, collectCoverageFrom: [ '/packages/core/*/admin/src/**/*.js', @@ -54,5 +56,5 @@ module.exports = { }, transformIgnorePatterns: ['node_modules/(?!(react-dnd|dnd-core|react-dnd-html5-backend)/)'], testURL: 'http://localhost:4000/admin', - testMatch: ['/**/tests/**/?(*.)+(spec|test).[jt]s?(x)'] -} + testMatch: ['/**/tests/**/?(*.)+(spec|test).[jt]s?(x)'], +}; diff --git a/jest.base-config.js b/jest.base-config.js index 1ba2a8e0ac..77a593e8ef 100644 --- a/jest.base-config.js +++ b/jest.base-config.js @@ -1,5 +1,6 @@ module.exports = { + rootDir: __dirname, setupFilesAfterEnv: ['/test/unit.setup.js'], modulePathIgnorePatterns: ['.cache'], testMatch: ['/**/__tests__/**/*.[jt]s?(x)'], -} +}; diff --git a/jest.config.front.js b/jest.config.front.js index e64412f6d0..cb23729b43 100644 --- a/jest.config.front.js +++ b/jest.config.front.js @@ -1,13 +1,9 @@ -const baseConfigFront = require('./jest.base-config.front'); +const baseConfig = require('./jest.base-config.front'); module.exports = { - ...baseConfigFront, + ...baseConfig, projects: [ - '/packages/core/admin/jest.config.front.js', - '/packages/core/content-manager/jest.config.front.js', - '/packages/core/content-type-builder/jest.config.front.js', - '/packages/core/upload/jest.config.front.js', - '/packages/core/email/jest.config.front.js', + '/packages/core/*/jest.config.front.js', '/packages/plugins/*/jest.config.front.js', ], }; diff --git a/jest.config.js b/jest.config.js index 5fb36fe1e1..b6eabf920e 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,19 +1,11 @@ 'use strict'; -const baseConfig = require('./jest.base-config') +const baseConfig = require('./jest.base-config'); module.exports = { ...baseConfig, projects: [ - '/packages/core/admin', - '/packages/core/content-manager', - '/packages/core/content-type-builder', - '/packages/core/database', - '/packages/core/email', - '/packages/core/helper-plugin', - '/packages/core/strapi', - '/packages/core/upload', - '/packages/core/utils', - ] + '/packages/core/*/jest.config.js', + '/packages/plugins/*/jest.config.js', + ], }; - diff --git a/package.json b/package.json index 5e4f3ffeec..73896599ba 100644 --- a/package.json +++ b/package.json @@ -70,12 +70,12 @@ "prettier:code": "prettier \"**/*.js\"", "prettier:other": "prettier \"**/*.{md,css,scss,yaml,yml}\"", "test:clean": "rimraf ./coverage", - "test:front": "npm run test:clean && cross-env NODE_ENV=test IS_EE=true jest --config ./jest.config.front.js", - "test:front:watch": "cross-env NODE_ENV=test IS_EE=true jest --config ./jest.config.front.js --watch ", - "test:front:update": "cross-env NODE_ENV=test IS_EE=true jest --config ./jest.config.front.js --u", - "test:front:ce": "npm run test:clean && cross-env NODE_ENV=test IS_EE=false jest --config ./jest.config.front.js --coverage", - "test:front:watch:ce": "cross-env NODE_ENV=test IS_EE=false jest --config ./jest.config.front.js --watchAll", - "test:front:update:ce": "cross-env NODE_ENV=test IS_EE=false jest --config ./jest.config.front.js --u", + "test:front": "npm run test:clean && cross-env IS_EE=true jest --config ./jest.config.front.js", + "test:front:watch": "cross-env IS_EE=true jest --config ./jest.config.front.js --watch ", + "test:front:update": "cross-env IS_EE=true jest --config ./jest.config.front.js --u", + "test:front:ce": "npm run test:clean && cross-env IS_EE=false jest --config ./jest.config.front.js --coverage", + "test:front:watch:ce": "cross-env IS_EE=false jest --config ./jest.config.front.js --watchAll", + "test:front:update:ce": "cross-env IS_EE=false jest --config ./jest.config.front.js --u", "test:snyk": "snyk test", "test:unit": "jest --verbose", "test:e2e": "FORCE_COLOR=true jest --config jest.config.e2e.js --verbose --runInBand --testRunner=jest-circus/runner --forceExit --detectOpenHandles", diff --git a/packages/core/admin/jest.config.front.js b/packages/core/admin/jest.config.front.js index dc9f902f83..343f11d44c 100644 --- a/packages/core/admin/jest.config.front.js +++ b/packages/core/admin/jest.config.front.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfigFront = require('../../../jest.base-config.front') +const baseConfig = require('../../../jest.base-config.front'); +const pkg = require('./package'); module.exports = { - displayName: 'admin-front', - rootDir: '../../..', - ...baseConfigFront, - testMatch: [`/packages/core/admin${baseConfigFront.testMatch}`], -} \ No newline at end of file + ...baseConfig, + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/core/admin'], +}; diff --git a/packages/core/admin/jest.config.js b/packages/core/admin/jest.config.js index cd37f39be7..b32d8caf10 100644 --- a/packages/core/admin/jest.config.js +++ b/packages/core/admin/jest.config.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfig = require('../../../jest.base-config') +const baseConfig = require('../../../jest.base-config'); +const pkg = require('./package'); module.exports = { - displayName: 'admin', ...baseConfig, - rootDir: '../../..', - testMatch: [`/packages/core/admin${baseConfig.testMatch}`] -} \ No newline at end of file + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/core/admin'], +}; diff --git a/packages/core/content-manager/jest.config.front.js b/packages/core/content-manager/jest.config.front.js index 368cf1d588..f3091c7ed8 100644 --- a/packages/core/content-manager/jest.config.front.js +++ b/packages/core/content-manager/jest.config.front.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfigFront = require('../../../jest.base-config.front') +const baseConfig = require('../../../jest.base-config.front'); +const pkg = require('./package'); module.exports = { - displayName: 'content-manager-front', - rootDir: '../../..', - ...baseConfigFront, - testMatch: [`/packages/core/content-manager${baseConfigFront.testMatch}`], -} \ No newline at end of file + ...baseConfig, + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/core/content-manager'], +}; diff --git a/packages/core/content-manager/jest.config.js b/packages/core/content-manager/jest.config.js index bb5f81babd..beb138b7ff 100644 --- a/packages/core/content-manager/jest.config.js +++ b/packages/core/content-manager/jest.config.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfig = require('../../../jest.base-config') +const baseConfig = require('../../../jest.base-config'); +const pkg = require('./package'); module.exports = { - displayName: 'content-manager', ...baseConfig, - rootDir: '../../..', - testMatch: [`/packages/core/content-manager${baseConfig.testMatch}`] -} \ No newline at end of file + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/core/content-manager'], +}; diff --git a/packages/core/content-type-builder/jest.config.front.js b/packages/core/content-type-builder/jest.config.front.js index be08179014..df75be99f7 100644 --- a/packages/core/content-type-builder/jest.config.front.js +++ b/packages/core/content-type-builder/jest.config.front.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfigFront = require('../../../jest.base-config.front') +const baseConfig = require('../../../jest.base-config.front'); +const pkg = require('./package'); module.exports = { - displayName: 'content-type-builder-front', - rootDir: '../../..', - ...baseConfigFront, - testMatch: [`/packages/core/content-type-builder${baseConfigFront.testMatch}`], -} \ No newline at end of file + ...baseConfig, + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/core/content-type-builder'], +}; diff --git a/packages/core/content-type-builder/jest.config.js b/packages/core/content-type-builder/jest.config.js index 3b627f9f17..fd252bc329 100644 --- a/packages/core/content-type-builder/jest.config.js +++ b/packages/core/content-type-builder/jest.config.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfig = require('../../../jest.base-config') +const baseConfig = require('../../../jest.base-config'); +const pkg = require('./package'); module.exports = { - displayName: 'content-type-builder', ...baseConfig, - rootDir: '../../..', - testMatch: [`/packages/core/content-type-builder${baseConfig.testMatch}`] -} \ No newline at end of file + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/core/content-type-builder'], +}; diff --git a/packages/core/database/jest.config.js b/packages/core/database/jest.config.js index 29e2dcee55..a205f4101b 100644 --- a/packages/core/database/jest.config.js +++ b/packages/core/database/jest.config.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfig = require('../../../jest.base-config') +const baseConfig = require('../../../jest.base-config'); +const pkg = require('./package'); module.exports = { - displayName: 'database', ...baseConfig, - rootDir: '../../..', - testMatch: [`/packages/core/database${baseConfig.testMatch}`] -} + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/core/database'], +}; diff --git a/packages/core/email/jest.config.front.js b/packages/core/email/jest.config.front.js index f156bb8322..bc5fe9f425 100644 --- a/packages/core/email/jest.config.front.js +++ b/packages/core/email/jest.config.front.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfigFront = require('../../../jest.base-config.front') +const baseConfig = require('../../../jest.base-config.front'); +const pkg = require('./package'); module.exports = { - displayName: 'email-front', - rootDir: '../../..', - ...baseConfigFront, - testMatch: [`/packages/core/email${baseConfigFront.testMatch}`], -} \ No newline at end of file + ...baseConfig, + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/core/email'], +}; diff --git a/packages/core/email/jest.config.js b/packages/core/email/jest.config.js deleted file mode 100644 index a4530e11c2..0000000000 --- a/packages/core/email/jest.config.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict' - -const baseConfig = require('../../../jest.base-config') - -module.exports = { - displayName: 'email', - ...baseConfig, - rootDir: '../../..', - testMatch: [`/packages/core/email${baseConfig.testMatch}`] -} \ No newline at end of file diff --git a/packages/core/helper-plugin/jest.config.js b/packages/core/helper-plugin/jest.config.js deleted file mode 100644 index fb914d8e8b..0000000000 --- a/packages/core/helper-plugin/jest.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const baseConfig = require('../../../jest.base-config') - -module.exports = { - displayName: 'helper-plugin', - ...baseConfig, - rootDir: '../../..', - testMatch: [`/packages/core/helper-plugin${baseConfig.testMatch}`] -} diff --git a/packages/core/strapi/jest.config.js b/packages/core/strapi/jest.config.js index 7c53763f26..52c68485c5 100644 --- a/packages/core/strapi/jest.config.js +++ b/packages/core/strapi/jest.config.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfig = require('../../../jest.base-config') +const baseConfig = require('../../../jest.base-config'); +const pkg = require('./package'); module.exports = { - displayName: 'strapi', ...baseConfig, - rootDir: '../../..', - testMatch: [`/packages/core/strapi${baseConfig.testMatch}`] -} + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/core/strapi'], +}; diff --git a/packages/core/upload/jest.config.front.js b/packages/core/upload/jest.config.front.js index 450b4a6414..160657cc55 100644 --- a/packages/core/upload/jest.config.front.js +++ b/packages/core/upload/jest.config.front.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfigFront = require('../../../jest.base-config.front') +const baseConfig = require('../../../jest.base-config.front'); +const pkg = require('./package'); module.exports = { - displayName: 'upload-front', - rootDir: '../../..', - ...baseConfigFront, - testMatch: [`/packages/core/upload${baseConfigFront.testMatch}`], -} \ No newline at end of file + ...baseConfig, + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/core/upload'], +}; diff --git a/packages/core/upload/jest.config.js b/packages/core/upload/jest.config.js index 1c752e8a5d..dee7196b1b 100644 --- a/packages/core/upload/jest.config.js +++ b/packages/core/upload/jest.config.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfig = require('../../../jest.base-config') +const baseConfig = require('../../../jest.base-config'); +const pkg = require('./package'); module.exports = { - displayName: 'upload', ...baseConfig, - rootDir: '../../..', - testMatch: [`/packages/core/upload${baseConfig.testMatch}`] -} \ No newline at end of file + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/core/upload'], +}; diff --git a/packages/core/utils/jest.config.js b/packages/core/utils/jest.config.js index 491b52fca9..c432fa8e9e 100644 --- a/packages/core/utils/jest.config.js +++ b/packages/core/utils/jest.config.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfig = require('../../../jest.base-config') +const baseConfig = require('../../../jest.base-config'); +const pkg = require('./package'); module.exports = { - displayName: 'utils', ...baseConfig, - rootDir: '../../..', - testMatch: [`/packages/core/utils${baseConfig.testMatch}`] -} + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/core/utils'], +}; diff --git a/packages/plugins/documentation/jest.config.front.js b/packages/plugins/documentation/jest.config.front.js deleted file mode 100644 index 88df2f4b71..0000000000 --- a/packages/plugins/documentation/jest.config.front.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict' - -const baseConfigFront = require('../../../jest.base-config.front') - -module.exports = { - displayName: 'plugins-documentation-front', - rootDir: '../../..', - ...baseConfigFront, - testMatch: [`/packages/plugins/documentation${baseConfigFront.testMatch}`], -} diff --git a/packages/plugins/documentation/package.json b/packages/plugins/documentation/package.json index 05e6dea37d..56363ebe8b 100644 --- a/packages/plugins/documentation/package.json +++ b/packages/plugins/documentation/package.json @@ -9,9 +9,6 @@ "description": "documentation.plugin.description", "kind": "plugin" }, - "scripts": { - "test:front": "jest --config jest.config.front.js" - }, "dependencies": { "@strapi/helper-plugin": "3.6.8", "cheerio": "^1.0.0-rc.5", diff --git a/packages/plugins/graphql/jest.config.front.js b/packages/plugins/graphql/jest.config.front.js index b203b1f8e2..9c9d361b93 100644 --- a/packages/plugins/graphql/jest.config.front.js +++ b/packages/plugins/graphql/jest.config.front.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfigFront = require('../../../jest.base-config.front') +const baseConfig = require('../../../jest.base-config.front'); +const pkg = require('./package'); module.exports = { - displayName: 'plugins-graphql-front', - rootDir: '../../..', - ...baseConfigFront, - testMatch: [`/packages/plugins/graphql${baseConfigFront.testMatch}`], -} + ...baseConfig, + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/plugins/graphql'], +}; diff --git a/packages/plugins/graphql/jest.config.js b/packages/plugins/graphql/jest.config.js new file mode 100644 index 0000000000..408cd9946e --- /dev/null +++ b/packages/plugins/graphql/jest.config.js @@ -0,0 +1,10 @@ +'use strict'; + +const baseConfig = require('../../../jest.base-config'); +const pkg = require('./package'); + +module.exports = { + ...baseConfig, + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/plugins/graphql'], +}; diff --git a/packages/plugins/i18n/jest.config.front.js b/packages/plugins/i18n/jest.config.front.js index 390af9cfa4..e71ecfcb2f 100644 --- a/packages/plugins/i18n/jest.config.front.js +++ b/packages/plugins/i18n/jest.config.front.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfigFront = require('../../../jest.base-config.front') +const baseConfig = require('../../../jest.base-config.front'); +const pkg = require('./package'); module.exports = { - displayName: 'plugins-i18n-front', - rootDir: '../../..', - ...baseConfigFront, - testMatch: [`/packages/plugins/i18n${baseConfigFront.testMatch}`], -} + ...baseConfig, + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/plugins/i18n'], +}; diff --git a/packages/plugins/i18n/jest.config.js b/packages/plugins/i18n/jest.config.js new file mode 100644 index 0000000000..2d915b2eab --- /dev/null +++ b/packages/plugins/i18n/jest.config.js @@ -0,0 +1,10 @@ +'use strict'; + +const baseConfig = require('../../../jest.base-config'); +const pkg = require('./package'); + +module.exports = { + ...baseConfig, + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/plugins/i18n'], +}; diff --git a/packages/plugins/sentry/jest.config.front.js b/packages/plugins/sentry/jest.config.front.js index cc890fa2e5..788c0ca092 100644 --- a/packages/plugins/sentry/jest.config.front.js +++ b/packages/plugins/sentry/jest.config.front.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfigFront = require('../../../jest.base-config.front') +const baseConfig = require('../../../jest.base-config.front'); +const pkg = require('./package'); module.exports = { - displayName: 'plugins-sentry-front', - rootDir: '../../..', - ...baseConfigFront, - testMatch: [`/packages/plugins/sentry${baseConfigFront.testMatch}`], -} + ...baseConfig, + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/plugins/sentry'], +}; diff --git a/packages/plugins/sentry/jest.config.js b/packages/plugins/sentry/jest.config.js new file mode 100644 index 0000000000..5fda06d662 --- /dev/null +++ b/packages/plugins/sentry/jest.config.js @@ -0,0 +1,10 @@ +'use strict'; + +const baseConfig = require('../../../jest.base-config'); +const pkg = require('./package'); + +module.exports = { + ...baseConfig, + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/plugins/sentry'], +}; diff --git a/packages/plugins/users-permissions/jest.config.front.js b/packages/plugins/users-permissions/jest.config.front.js index 3621aeac23..485228a87a 100644 --- a/packages/plugins/users-permissions/jest.config.front.js +++ b/packages/plugins/users-permissions/jest.config.front.js @@ -1,10 +1,10 @@ -'use strict' +'use strict'; -const baseConfigFront = require('../../../jest.base-config.front') +const baseConfig = require('../../../jest.base-config.front'); +const pkg = require('./package'); module.exports = { - displayName: 'plugins-users-permissions-front', - rootDir: '../../..', - ...baseConfigFront, - testMatch: [`/packages/plugins/users-permissions${baseConfigFront.testMatch}`], -} + ...baseConfig, + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/plugins/users-permissions'], +}; diff --git a/packages/plugins/users-permissions/jest.config.js b/packages/plugins/users-permissions/jest.config.js new file mode 100644 index 0000000000..9035db693e --- /dev/null +++ b/packages/plugins/users-permissions/jest.config.js @@ -0,0 +1,10 @@ +'use strict'; + +const baseConfig = require('../../../jest.base-config'); +const pkg = require('./package'); + +module.exports = { + ...baseConfig, + displayName: (pkg.strapi && pkg.strapi.name) || pkg.name, + roots: ['/packages/plugins/users-permissions'], +};