mirror of
https://github.com/grafana/grafana.git
synced 2024-11-22 00:47:38 -06:00
bcdcb1f74b
* refactor breakdown scene * refactor BreakdownScene along with LayoutSwitcher * rename * don't pass default layout * better type handling * betterer * add @bsull/augurs * implement LabelBreakdownScene * integrate SortByScene in LabelBreakdownScene * move to new directory * introduce BreakdownSearchScene * integrate searchScene * cleaning * initialize @bsull/augurs * add interaction * use new breakdown scene * resolve merge conflicts * ugrade @bsull/augurs * update import * update css * update tooltip text * refine sorting * fix unit test * fix * implement outlier detector * support wasm * jest testing fix * localization fix * use unknown instead of any * update i18n * update betterer * fix locales * update test * fix tests maybe * prettier * chore: update jest config * chore: create mock for @bsull/augurs (#92156) chore: create mock for bsull/augurs @bsull/augurs assumes it will be running as an ESM, not a CommonJS module, so can't be loaded by Jest (specifically because it contains a reference to import.meta.url). This PR provides a mock implementation which gets tests passing again. Ideally we'd be able to load the actual @bsull/augurs module in tests so this is just a stopgap really, until a better solution appears. * fix unit tests * remove unused BreakdownScene.tsx * set outliers as undefined if an error occurs * Add labels * betterer * reset event implemented * fix controls positioning * update augurs * betterer * i18n * conflict fixes * update texts --------- Co-authored-by: Matias Chomicki <matyax@gmail.com> Co-authored-by: Ben Sully <ben.sully@grafana.com>
64 lines
2.6 KiB
JavaScript
64 lines
2.6 KiB
JavaScript
// We set this specifically for 2 reasons.
|
|
// 1. It makes sense for both CI tests and local tests to behave the same so issues are found earlier
|
|
// 2. Any wrong timezone handling could be hidden if we use UTC/GMT local time (which would happen in CI).
|
|
process.env.TZ = 'Pacific/Easter'; // UTC-06:00 or UTC-05:00 depending on daylight savings
|
|
|
|
const esModules = [
|
|
'@glideapps/glide-data-grid',
|
|
'ol',
|
|
'd3',
|
|
'd3-color',
|
|
'd3-interpolate',
|
|
'delaunator',
|
|
'internmap',
|
|
'robust-predicates',
|
|
'leven',
|
|
'nanoid',
|
|
'monaco-promql',
|
|
'@kusto/monaco-kusto',
|
|
'monaco-editor',
|
|
'@msagl',
|
|
'lodash-es',
|
|
'vscode-languageserver-types',
|
|
'@bsull/augurs',
|
|
].join('|');
|
|
|
|
module.exports = {
|
|
verbose: false,
|
|
testEnvironment: 'jsdom',
|
|
transform: {
|
|
'^.+\\.(ts|tsx|js|jsx)$': [require.resolve('ts-jest'), { isolatedModules: true }],
|
|
},
|
|
transformIgnorePatterns: [
|
|
`/node_modules/(?!${esModules})`, // exclude es modules to prevent TS complaining
|
|
],
|
|
moduleDirectories: ['public', 'node_modules'],
|
|
roots: ['<rootDir>/public/app', '<rootDir>/public/test', '<rootDir>/packages', '<rootDir>/scripts/tests'],
|
|
testRegex: '(\\.|/)(test)\\.(jsx?|tsx?)$',
|
|
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],
|
|
setupFiles: ['jest-canvas-mock', './public/test/jest-setup.ts'],
|
|
testTimeout: 30000,
|
|
resolver: `<rootDir>/public/test/jest-resolver.js`,
|
|
setupFilesAfterEnv: ['./public/test/setupTests.ts'],
|
|
globals: {
|
|
__webpack_public_path__: '', // empty string
|
|
},
|
|
moduleNameMapper: {
|
|
'\\.svg': '<rootDir>/public/test/mocks/svg.ts',
|
|
'\\.css': '<rootDir>/public/test/mocks/style.ts',
|
|
'react-inlinesvg': '<rootDir>/public/test/mocks/react-inlinesvg.tsx',
|
|
// resolve directly as monaco and kusto don't have main property in package.json which jest needs
|
|
'^monaco-editor$': 'monaco-editor/esm/vs/editor/editor.api.js',
|
|
'@kusto/monaco-kusto': '@kusto/monaco-kusto/release/esm/monaco.contribution.js',
|
|
// near-membrane-dom won't work in a nodejs environment.
|
|
'@locker/near-membrane-dom': '<rootDir>/public/test/mocks/nearMembraneDom.ts',
|
|
'^@grafana/schema/dist/esm/(.*)$': '<rootDir>/packages/grafana-schema/src/$1',
|
|
// prevent systemjs amd extra from breaking tests.
|
|
'systemjs/dist/extras/amd': '<rootDir>/public/test/mocks/systemjsAMDExtra.ts',
|
|
'@bsull/augurs': '<rootDir>/public/test/mocks/augurs.ts',
|
|
},
|
|
// Log the test results with dynamic Loki tags. Drone CI only
|
|
reporters: ['default', ['<rootDir>/public/test/log-reporter.js', { enable: process.env.DRONE === 'true' }]],
|
|
watchPlugins: ['jest-watch-typeahead/filename', 'jest-watch-typeahead/testname'],
|
|
};
|