* First iteration of watch public -> new platform Still need to switch to np ready version of use_request * - Switched to using np ready request - Some updates after API changes * First attempt at server shim * Rename file and re-enable react hooks linting * Fix some public types and react hooks lint rules * Fix types * More ES lint react hooks fixes * Migrated server lib -> ts. Part way done with migrating routes to NP router and TS * Big subset of routes to TS and NP router - almost there * Delete legacy error wrappers and moved last set of routes to TS and NP router * Remove @ts-ignore's and update route registration to use shim with http router * Added routes validations, fixes for hooks and fixes for types * Fix more types and finish testing API routes * Fix usage of feature catalogue and fix time buckets types * Fix error message shape [skip ci] * Split legacy from new platform dependencies server-side * Refactor: Seperate client legacy and NP dependencies * Add file: added types file * Fix UISettings client type import * Update license pre-routing factory spec * Update variable names, use of I18nContext (use NP) and docs * Use NP elasticsearchclient * Simplify is_es_error_factory * Fix types * Improve code legibility and remove second use of `useAppContext` * Use @kbn/config-schema (not validate: false) on routes! * Fix watch create JSON spec * Create threshold test working * Unskip watch_edit.test.ts * Unskip watch_list.test.ts * Done re-enabling component integration tests * TimeBuckets typo + remove unnecessary // @ts-ignore
69 lines
3.1 KiB
JavaScript
69 lines
3.1 KiB
JavaScript
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the Elastic License;
|
|
* you may not use this file except in compliance with the Elastic License.
|
|
*/
|
|
|
|
export function createJestConfig({ kibanaDirectory, xPackKibanaDirectory }) {
|
|
const fileMockPath = `${kibanaDirectory}/src/dev/jest/mocks/file_mock.js`;
|
|
return {
|
|
rootDir: xPackKibanaDirectory,
|
|
roots: [
|
|
'<rootDir>/plugins',
|
|
'<rootDir>/legacy/plugins',
|
|
'<rootDir>/legacy/server',
|
|
'<rootDir>/test_utils/jest/contract_tests',
|
|
],
|
|
moduleFileExtensions: ['js', 'json', 'ts', 'tsx'],
|
|
moduleNameMapper: {
|
|
'^ui/(.*)': `${kibanaDirectory}/src/legacy/ui/public/$1`,
|
|
'uiExports/(.*)': fileMockPath,
|
|
'^src/core/(.*)': `${kibanaDirectory}/src/core/$1`,
|
|
'^src/legacy/(.*)': `${kibanaDirectory}/src/legacy/$1`,
|
|
'^plugins/watcher/np_ready/application/models/(.*)':
|
|
`${xPackKibanaDirectory}/legacy/plugins/watcher/public/np_ready/application/models/$1`,
|
|
'^plugins/([^/.]*)(.*)': `${kibanaDirectory}/src/legacy/core_plugins/$1/public$2`,
|
|
'^legacy/plugins/xpack_main/(.*);': `${xPackKibanaDirectory}/legacy/plugins/xpack_main/public/$1`,
|
|
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': fileMockPath,
|
|
'\\.module.(css|scss)$': `${kibanaDirectory}/src/dev/jest/mocks/css_module_mock.js`,
|
|
'\\.(css|less|scss)$': `${kibanaDirectory}/src/dev/jest/mocks/style_mock.js`,
|
|
'^test_utils/enzyme_helpers': `${xPackKibanaDirectory}/test_utils/enzyme_helpers.tsx`,
|
|
'^test_utils/find_test_subject': `${xPackKibanaDirectory}/test_utils/find_test_subject.ts`,
|
|
},
|
|
coverageDirectory: '<rootDir>/../target/kibana-coverage/jest',
|
|
coverageReporters: ['html'],
|
|
setupFiles: [
|
|
`${kibanaDirectory}/src/dev/jest/setup/babel_polyfill.js`,
|
|
`<rootDir>/dev-tools/jest/setup/polyfills.js`,
|
|
`<rootDir>/dev-tools/jest/setup/enzyme.js`,
|
|
],
|
|
setupFilesAfterEnv: [
|
|
`<rootDir>/dev-tools/jest/setup/setup_test.js`,
|
|
`${kibanaDirectory}/src/dev/jest/setup/mocks.js`,
|
|
],
|
|
testMatch: ['**/*.test.{js,ts,tsx}'],
|
|
transform: {
|
|
'^.+\\.(js|tsx?)$': `${kibanaDirectory}/src/dev/jest/babel_transform.js`,
|
|
'^.+\\.html?$': 'jest-raw-loader',
|
|
},
|
|
transformIgnorePatterns: [
|
|
// ignore all node_modules except @elastic/eui and monaco-editor which both require babel transforms to handle dynamic import()
|
|
// since ESM modules are not natively supported in Jest yet (https://github.com/facebook/jest/issues/4842)
|
|
'[/\\\\]node_modules(?![\\/\\\\]@elastic[\\/\\\\]eui)(?![\\/\\\\]monaco-editor)[/\\\\].+\\.js$',
|
|
],
|
|
snapshotSerializers: [
|
|
`${kibanaDirectory}/node_modules/enzyme-to-json/serializer`,
|
|
`${kibanaDirectory}/src/plugins/kibana_react/public/util/test_helpers/react_mount_serializer.ts`,
|
|
],
|
|
reporters: [
|
|
'default',
|
|
[
|
|
`${kibanaDirectory}/src/dev/jest/junit_reporter.js`,
|
|
{
|
|
reportName: 'X-Pack Jest Tests',
|
|
},
|
|
],
|
|
],
|
|
};
|
|
}
|