From 29c89de140f9f0de1fa80a08e8d683bb62529616 Mon Sep 17 00:00:00 2001 From: Dominik Prokop Date: Mon, 15 Jul 2019 16:57:37 +0200 Subject: [PATCH] grafana/toolkit: update the way config is being passed to jest cli (#18115) --- .../src/cli/tasks/plugin/tests.ts | 11 ++++++++--- .../src/config/jest.plugin.config.ts | 16 ++++++++++------ 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/packages/grafana-toolkit/src/cli/tasks/plugin/tests.ts b/packages/grafana-toolkit/src/cli/tasks/plugin/tests.ts index a5926b9f4b4..79442435a75 100644 --- a/packages/grafana-toolkit/src/cli/tasks/plugin/tests.ts +++ b/packages/grafana-toolkit/src/cli/tasks/plugin/tests.ts @@ -10,10 +10,15 @@ export interface PluginTestOptions { export const testPlugin = useSpinner('Running tests', async ({ updateSnapshot, coverage }) => { const testConfig = jestConfig(); - testConfig.updateSnapshot = updateSnapshot; - testConfig.coverage = coverage; + const cliConfig = { + config: JSON.stringify(testConfig), + updateSnapshot, + coverage, + passWithNoTests: true, + }; - const results = await jestCLI.runCLI(testConfig as any, [process.cwd()]); + // @ts-ignore + const results = await jestCLI.runCLI(cliConfig, [process.cwd()]); if (results.results.numFailedTests > 0 || results.results.numFailedTestSuites > 0) { throw new Error('Tests failed'); diff --git a/packages/grafana-toolkit/src/config/jest.plugin.config.ts b/packages/grafana-toolkit/src/config/jest.plugin.config.ts index 924eb5a2224..94637c63b12 100644 --- a/packages/grafana-toolkit/src/config/jest.plugin.config.ts +++ b/packages/grafana-toolkit/src/config/jest.plugin.config.ts @@ -1,7 +1,7 @@ import path = require('path'); import fs = require('fs'); -const whitelistedJestConfigOverrides = ['snapshotSerializers']; +const whitelistedJestConfigOverrides = ['snapshotSerializers', 'moduleNameMapper']; export const jestConfig = () => { const jestConfigOverrides = require(path.resolve(process.cwd(), 'package.json')).jest; @@ -23,17 +23,21 @@ export const jestConfig = () => { const defaultJestConfig = { preset: 'ts-jest', verbose: false, - transform: { - '^.+\\.(ts|tsx)$': 'ts-jest', - }, moduleDirectories: ['node_modules', 'src'], moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'], setupFiles, globals: { 'ts-jest': { isolatedModules: true } }, coverageReporters: ['json-summary', 'text', 'lcov'], collectCoverageFrom: ['src/**/*.{ts,tsx}', '!**/node_modules/**', '!**/vendor/**'], - updateSnapshot: false, - passWithNoTests: true, + + testMatch: [ + '/src/**/__tests__/**/*.{js,jsx,ts,tsx}', + '/src/**/*.{spec,test,jest}.{js,jsx,ts,tsx}', + ], + transformIgnorePatterns: [ + '[/\\\\\\\\]node_modules[/\\\\\\\\].+\\\\.(js|jsx|ts|tsx)$', + '^.+\\\\.module\\\\.(css|sass|scss)$', + ], }; return {