From f67e56939a26c3510da6b466f7e07fbe99b0ccef Mon Sep 17 00:00:00 2001 From: Jack Westbrook Date: Thu, 21 Mar 2024 11:36:37 +0100 Subject: [PATCH] Tests: Isolate script tests to prevent jest errors locally (#84881) * test(jest): isolate script tests to prevent jest errors in grafana-server/tmp tests * chore(codeowners): update so generate-transformations matches in docs and tests directory --- .github/CODEOWNERS | 4 ++-- jest.config.js | 2 +- scripts/{docs => tests}/generate-transformations.test.ts | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) rename scripts/{docs => tests}/generate-transformations.test.ts (93%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 025493d4c65..1b8aad620bc 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -535,7 +535,7 @@ playwright.config.ts @grafana/plugins-platform-frontend /scripts/generate-icon-bundle.js @grafana/plugins-platform-frontend @grafana/grafana-frontend-platform /scripts/levitate-parse-json-report.js @grafana/plugins-platform-frontend -/scripts/docs/generate-transformations* @grafana/dataviz-squad +/scripts/**/generate-transformations* @grafana/dataviz-squad /scripts/webpack/ @grafana/frontend-ops /scripts/generate-a11y-report.sh @grafana/grafana-frontend-platform .pa11yci.conf.js @grafana/grafana-frontend-platform @@ -614,7 +614,7 @@ playwright.config.ts @grafana/plugins-platform-frontend /pkg/services/cloudmigration/ @grafana/grafana-operator-experience-squad # Feature toggles -/pkg/services/featuremgmt/ @grafana/grafana-backend-services-squad +/pkg/services/featuremgmt/ @grafana/grafana-backend-services-squad # Kind definitions diff --git a/jest.config.js b/jest.config.js index cc797aa32ad..ff53e7c3093 100644 --- a/jest.config.js +++ b/jest.config.js @@ -30,7 +30,7 @@ module.exports = { `/node_modules/(?!${esModules})`, // exclude es modules to prevent TS complaining ], moduleDirectories: ['public', 'node_modules'], - roots: ['/public/app', '/public/test', '/packages', '/scripts'], + roots: ['/public/app', '/public/test', '/packages', '/scripts/tests'], testRegex: '(\\.|/)(test)\\.(jsx?|tsx?)$', moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'], setupFiles: ['jest-canvas-mock', './public/test/jest-setup.ts'], diff --git a/scripts/docs/generate-transformations.test.ts b/scripts/tests/generate-transformations.test.ts similarity index 93% rename from scripts/docs/generate-transformations.test.ts rename to scripts/tests/generate-transformations.test.ts index 88acca743ab..1f50222ebda 100644 --- a/scripts/docs/generate-transformations.test.ts +++ b/scripts/tests/generate-transformations.test.ts @@ -1,4 +1,4 @@ -import { getMarkdownContent, getJavaScriptContent } from './generate-transformations.ts'; +import { getMarkdownContent, getJavaScriptContent } from '../docs/generate-transformations.ts'; describe('makefile script tests', () => { // If these tests fail, refer to `./docs/README.md` "Content guidelines" for more information @@ -22,8 +22,8 @@ export function contentDoesMatch(jsContent: string, mdContent: string): Boolean return normalizeContent(jsContent) === normalizeContent(mdContent); } -/* - Normalize content by removing all whitespace (spaces, tabs, newlines, carriage returns, +/* + Normalize content by removing all whitespace (spaces, tabs, newlines, carriage returns, form feeds, and vertical tabs) and special characters. NOTE: There are numerous unpredictable formatting oddities when transforming JavaScript to Markdown; @@ -51,7 +51,7 @@ export function contentDoesMatch(jsContent: string, mdContent: string): Boolean | 4 | 6 | 8 | | 5 | 7 | 9 | - This is one of many arbitrary formatting anomalies that we can ignore by normalizing the + This is one of many arbitrary formatting anomalies that we can ignore by normalizing the content before comparing the JavaScript template literals and the final Markdown. */ function normalizeContent(content: string): string {