From dc402f19408dd8a4f84d04ecd6d671de3c1e6374 Mon Sep 17 00:00:00 2001 From: Alexey Date: Tue, 10 Oct 2023 17:44:39 +0200 Subject: [PATCH] fix: jest tests (#2056) --- .../packages/core-cli/configs/babel.config.js | 55 +------------------ .../core-cli/configs/jest.babel.config.js | 11 ++++ .../packages/core-cli/configs/jest.config.js | 10 +--- 3 files changed, 13 insertions(+), 63 deletions(-) create mode 100644 webapp/packages/core-cli/configs/jest.babel.config.js diff --git a/webapp/packages/core-cli/configs/babel.config.js b/webapp/packages/core-cli/configs/babel.config.js index d3974e9199..e62889387d 100644 --- a/webapp/packages/core-cli/configs/babel.config.js +++ b/webapp/packages/core-cli/configs/babel.config.js @@ -7,23 +7,9 @@ */ /* eslint-disable @typescript-eslint/no-var-requires */ const testingAttributes = require('../dist/babel-plugins/TestingAttributes.js'); -const { warn } = console; - -// Prevents resolution warnings from babel-plugin-module-resolver -// See https://github.com/tleunen/babel-plugin-module-resolver/issues/315 -// eslint-disable-next-line no-console -console.warn = (...args) => { - for (const arg of args) { - if (arg.startsWith('Could not resolve') && /src/.test(arg)) { - return; - } - } - warn(...args); -}; module.exports = api => { const devMode = !api.env('production'); - const testMode = api.env('test'); api.cache.never(); return { @@ -34,25 +20,6 @@ module.exports = api => { setSpreadProperties: true, }, presets: [ - // [ - // '@babel/preset-env', - // { - // modules: testMode ? undefined : false, - // targets: { - // node: 'current', - // browsers: [ - // 'defaults', - // 'not IE 11', - // // "last 1 chrome version", - // // "last 1 firefox version", - // // "last 1 edge version", - // // "last 1 safari version" - // ], - // }, - // exclude: ['transform-async-to-generator', 'transform-regenerator'], - // }, - // ], - // ['@babel/preset-typescript', { isTSX: true, allExtensions: true, onlyRemoveTypeImports: true }], [ '@babel/preset-react', { @@ -61,26 +28,6 @@ module.exports = api => { }, ], ], - plugins: [ - // 'babel-plugin-transform-typescript-metadata', - // '@babel/plugin-syntax-dynamic-import', - // '@babel/plugin-proposal-nullish-coalescing-operator', - // '@babel/plugin-proposal-optional-chaining', - // ['@babel/plugin-proposal-decorators', { legacy: true }], - // ['@babel/plugin-proposal-class-properties'], - // ['@babel/plugin-proposal-object-rest-spread', { useBuiltIns: true }], - [testingAttributes, {}], - [require('@reshadow/babel'), {}], - // /*devMode &&*/ [ - // 'babel-plugin-module-resolver', - // { - // alias: { - // '^@cloudbeaver/([^/]*)$': '@cloudbeaver/\\1/lib', - // '^@cloudbeaver/([^/]*)/(.*)$': '@cloudbeaver/\\1/\\2', - // }, - // }, - // ], - devMode && !testMode && require.resolve('react-refresh/babel'), - ].filter(Boolean), + plugins: [[testingAttributes, {}], [require('@reshadow/babel'), {}], devMode && require.resolve('react-refresh/babel')].filter(Boolean), }; }; diff --git a/webapp/packages/core-cli/configs/jest.babel.config.js b/webapp/packages/core-cli/configs/jest.babel.config.js new file mode 100644 index 0000000000..b010b8b748 --- /dev/null +++ b/webapp/packages/core-cli/configs/jest.babel.config.js @@ -0,0 +1,11 @@ +/* + * CloudBeaver - Cloud Database Manager + * Copyright (C) 2020-2023 DBeaver Corp and others + * + * Licensed under the Apache License, Version 2.0. + * you may not use this file except in compliance with the License. + */ +module.exports = { + presets: ['@babel/preset-env', ['@babel/preset-react', { runtime: 'automatic' }]], + plugins: ['../dist/babel-plugins/TestingAttributes.js', require('@reshadow/babel')], +}; diff --git a/webapp/packages/core-cli/configs/jest.config.js b/webapp/packages/core-cli/configs/jest.config.js index d59490086f..730f1e9c1e 100644 --- a/webapp/packages/core-cli/configs/jest.config.js +++ b/webapp/packages/core-cli/configs/jest.config.js @@ -12,28 +12,20 @@ module.exports = { 'node_modules/(?!@ngrx|(?!deck.gl)|ng-dynamic)', '/node_modules/(?!(uuid|go-split|@react-dnd|react-dnd-html5-backend|react-dnd|dnd-core|@cloudbeaver))(.*)', ], - // transformIgnorePatterns: ['/node_modules/', '\\.pnp\\.[^\\/]+$', 'reshadow'], testPathIgnorePatterns: ['/node_modules/'], moduleNameMapper: { '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': require.resolve('./__mocks__/fileMock.js'), '\\.(css|scss|less)$': require.resolve('./__mocks__/styleMock.js'), '^dexie$': require.resolve('dexie'), - // '^@cloudbeaver/([^/]*)$': '@cloudbeaver/$1/src', - // '^@cloudbeaver/([^/]*)/(.*)$': '@cloudbeaver/$1/$2', - '^reshadow$': 'reshadow/lib', '^@reshadow/react$': '@reshadow/react/lib', '^@reshadow/runtime$': '@reshadow/runtime/lib', }, - // collectCoverage: true, - // collectCoverageFrom: ['src/**/*.{ts,tsx}', '!src/types.ts'], - // coverageReporters: ['json'], - // restoreMocks: true, passWithNoTests: true, setupFiles: [require.resolve('fake-indexeddb/auto'), require.resolve('../tests/setup.js')], setupFilesAfterEnv: ['@testing-library/jest-dom'], transform: { - '\\.jsx?$': ['babel-jest', { configFile: require.resolve('./babel.config.js') }], + '\\.jsx?$': ['babel-jest', { configFile: require.resolve('./jest.babel.config.js') }], }, };