/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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. */ // timezone for unit tests process.env.TZ = 'America/New_York'; module.exports = { testRegex: '\\/superset-frontend\\/(spec|src|plugins|packages|tools)\\/.*(_spec|\\.test)\\.[jt]sx?$', moduleNameMapper: { '\\.(css|less|geojson)$': '/spec/__mocks__/mockExportObject.js', '\\.(gif|ttf|eot|png|jpg)$': '/spec/__mocks__/mockExportString.js', '\\.svg$': '/spec/__mocks__/svgrMock.tsx', '^src/(.*)$': '/src/$1', '^spec/(.*)$': '/spec/$1', // mapping plugins of superset-ui to source code '^@superset-ui/([^/]+)/(.*)$': '/node_modules/@superset-ui/$1/src/$2', '^@superset-ui/([^/]+)$': '/node_modules/@superset-ui/$1/src', // mapping @apache-superset/core to local package '^@apache-superset/core$': '/packages/superset-core/src', '^@apache-superset/core/(.*)$': '/packages/superset-core/src/$1', }, testEnvironment: '/spec/helpers/jsDomWithFetchAPI.ts', modulePathIgnorePatterns: [ '/packages/generator-superset', '/packages/.*/esm', '/packages/.*/lib', '/plugins/.*/esm', '/plugins/.*/lib', // Ignore build artifacts that contain duplicate package.json or mock files '/storybook-static', // Ignore duplicate __mocks__ at package root level (e.g., packages/superset-ui-core/__mocks__) // but not test __mocks__ directories (e.g., packages/superset-ui-core/test/__mocks/) '/packages/[^/]+/__mocks__', ], setupFilesAfterEnv: ['/spec/helpers/setup.ts'], snapshotSerializers: ['@emotion/jest/serializer'], testEnvironmentOptions: { globalsCleanup: true, url: 'http://localhost', }, collectCoverageFrom: [ 'src/**/*.{js,jsx,ts,tsx}', '{packages,plugins}/**/src/**/*.{js,jsx,ts,tsx}', '!**/*.stories.*', ], coverageDirectory: '/coverage/', coveragePathIgnorePatterns: [ 'coverage/', 'node_modules/', 'public/', 'tmp/', 'dist/', ], coverageReporters: ['lcov', 'json-summary', 'html', 'text'], transformIgnorePatterns: [ 'node_modules/(?!d3-(array|interpolate|color|time|scale|time-format|format)|internmap|@mapbox/tiny-sdf|remark-gfm|(?!@ngrx|(?!deck.gl)|d3-scale)|markdown-table|micromark-*.|decode-named-character-reference|character-entities|mdast-util-*.|unist-util-*.|ccount|escape-string-regexp|nanoid|uuid|@rjsf/*.|echarts|zrender|fetch-mock|pretty-ms|parse-ms|ol|@babel/runtime|@emotion|cheerio|cheerio/lib|parse5|dom-serializer|entities|htmlparser2|rehype-sanitize|hast-util-sanitize|unified|unist-.*|hast-.*|rehype-.*|remark-.*|mdast-.*|micromark-.*|parse-entities|property-information|space-separated-tokens|comma-separated-tokens|bail|devlop|zwitch|longest-streak|geostyler|geostyler-.*|react-error-boundary|react-json-tree|react-base16-styling|lodash-es|rbush|quickselect)', ], preset: 'ts-jest', transform: { '^.+\\.(js|jsx|ts|tsx)$': 'babel-jest', }, moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], globals: { __DEV__: true, caches: true, }, reporters: [ 'default', [ './node_modules/jest-html-reporter', { pageTitle: 'Test Report', }, ], ], testTimeout: 20000, };