/* * Copyright 2022 Collate. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ module.exports = { // Project name displayName: '@openmetadata', globals: { // TypeScript 'ts-jest': { tsconfig: 'tsconfig.json', }, }, // Working directory roots: ['/src'], // Test files testMatch: ['/src/**/*.test.{ts,tsx,js,jsx}'], // All test files in subdirectories under /src // Test coverage coverageDirectory: '/src/test/unit/coverage', collectCoverageFrom: [ '/src/**/*.{ts,tsx,js,jsx}', // All files in subdirectories under src/app '!/src/*', // Exclude files directly under src/app ], coveragePathIgnorePatterns: [ '/src/@types/*', '/src/interface/*', '/src/generated/*', '/src/enums/*', ], // Transforms transform: { '^.+\\.ts|tsx?$': 'ts-jest', '^.+\\.js|jsx?$': '/node_modules/babel-jest', }, setupFilesAfterEnv: ['./src/setupTests.js'], clearMocks: true, moduleNameMapper: { '\\.svg': '/src/test/unit/mocks/svg.mock.js', // Mock SVG imports '\\.(scss)$': 'identity-obj-proxy', // Mock style imports '\\.(jpg|JPG|gif|GIF|png|PNG|less|LESS|css|CSS)$': '/src/test/unit/mocks/file.mock.js', '\\.json': '/src/test/unit/mocks/json.mock.js', '@github/g-emoji-element': '/src/test/unit/mocks/gemoji.mock.js', 'quilljs-markdown': '/src/test/unit/mocks/gemoji.mock.js', '@azure/msal-browser': '/node_modules/@azure/msal-browser/lib/msal-browser.cjs', '@azure/msal-react': '/node_modules/@azure/msal-react/dist/index.js', axios: 'axios/dist/node/axios.cjs', 'react-antd-column-resize': '/src/test/unit/mocks/reactColumnResize.mock.js', }, transformIgnorePatterns: ['node_modules/(?!@azure/msal-react)'], // TypeScript preset: 'ts-jest', // Test Environment testEnvironment: 'jsdom', // Sonar Cloud Configuration testResultsProcessor: 'jest-sonar-reporter', // use fake timers timers: 'fake', moduleDirectories: ['node_modules', 'src'], };