From f31bc5a337731bf1bae9c898b18dacfa22eaf5aa Mon Sep 17 00:00:00 2001 From: Pedram Valiani Date: Fri, 28 Nov 2025 11:38:59 +0000 Subject: [PATCH 1/2] adds script to allow next app tests to be run when at root level in simorgh and make it compatible w/ jest runner --- ws-nextjs-app/jest.config.ts | 11 +++++++---- ws-nextjs-app/package.json | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ws-nextjs-app/jest.config.ts b/ws-nextjs-app/jest.config.ts index 4c8af723772..9086c58da84 100644 --- a/ws-nextjs-app/jest.config.ts +++ b/ws-nextjs-app/jest.config.ts @@ -1,11 +1,14 @@ /* eslint-disable import/no-relative-packages */ import { pathsToModuleNameMapper } from 'ts-jest'; +import path from 'path'; import type { Config } from '@jest/types'; import { compilerOptions } from '../tsconfig.json'; // eslint-disable-next-line @typescript-eslint/no-unused-vars const { react, ...compilerOptionsPaths } = compilerOptions.paths; +const babelConfigFile = path.join(__dirname, '.babelrc'); + const canonicalIntegrationTests = { displayName: 'Integration Tests - Canonical', testEnvironment: './integration/IntegrationTestEnvironment.ts', @@ -21,7 +24,7 @@ const canonicalIntegrationTests = { '^.+\\.(js|jsx|ts|tsx)$': [ 'babel-jest', { - configFile: './.babelrc', + configFile: babelConfigFile, presets: ['next/babel'], }, ], @@ -45,7 +48,7 @@ const ampIntegrationTests = { '^.+\\.(js|jsx|ts|tsx)$': [ 'babel-jest', { - configFile: './.babelrc', + configFile: babelConfigFile, presets: ['next/babel'], }, ], @@ -69,7 +72,7 @@ const liteIntegrationTests = { '^.+\\.(js|jsx|ts|tsx)$': [ 'babel-jest', { - configFile: './.babelrc', + configFile: babelConfigFile, presets: ['next/babel'], }, ], @@ -91,7 +94,7 @@ const unitTests = { '^.+\\.(js|jsx|ts|tsx)$': [ 'babel-jest', { - configFile: './.babelrc', + configFile: babelConfigFile, presets: ['next/babel'], }, ], diff --git a/ws-nextjs-app/package.json b/ws-nextjs-app/package.json index 38019427a28..617630a309e 100644 --- a/ws-nextjs-app/package.json +++ b/ws-nextjs-app/package.json @@ -21,6 +21,7 @@ "test:integration:canonical": "NODE_OPTIONS=--no-experimental-strip-types jest --ci --colors --selectProjects='Integration Tests - Canonical'", "test:integration:amp": "NODE_OPTIONS=--no-experimental-strip-types jest --ci --colors --selectProjects='Integration Tests - AMP'", "test:integration:lite": "NODE_OPTIONS=--no-experimental-strip-types jest --ci --colors --selectProjects='Integration Tests - Lite'", + "test:file": "NODE_OPTIONS=--no-experimental-strip-types jest --selectProjects='Unit Tests' --runTestsByPath", "cypress": "cypress run --browser chrome", "cypress:interactive": "cypress open --browser chrome", "test:e2e": "yarn stop && yarn build && run-p --race start cypress -- --e2e", From d65d88de763669328a2d32029c9712b5ee58d677 Mon Sep 17 00:00:00 2001 From: Pedram Valiani Date: Fri, 28 Nov 2025 12:41:38 +0000 Subject: [PATCH 2/2] consolidate by updating existing test script to perform per-file runs as well as existing functionality --- ws-nextjs-app/package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ws-nextjs-app/package.json b/ws-nextjs-app/package.json index 617630a309e..a9bec65ebb5 100644 --- a/ws-nextjs-app/package.json +++ b/ws-nextjs-app/package.json @@ -16,12 +16,11 @@ "dev-https": "yarn setupDevEnv && next dev -p 7081 --experimental-https", "start": "NODE_ENV=production HOSTNAME=127.0.0.1 PORT=7081 node build/standalone/ws-nextjs-app/server.js", "stop": "lsof -t -i:7081 | xargs kill", - "test": "NODE_OPTIONS=--no-experimental-strip-types jest --ci --colors --selectProjects='Unit Tests'", + "test": "NODE_OPTIONS=--no-experimental-strip-types sh -c 'jest --colors --selectProjects=\"Unit Tests\" --runTestsByPath \"$@\" || jest --colors --selectProjects=\"Unit Tests\"' --", "test:integration": "NODE_OPTIONS=--no-experimental-strip-types jest --ci --colors --selectProjects='Integration Tests - Canonical' --selectProjects='Integration Tests - AMP' --selectProjects='Integration Tests - Lite'", "test:integration:canonical": "NODE_OPTIONS=--no-experimental-strip-types jest --ci --colors --selectProjects='Integration Tests - Canonical'", "test:integration:amp": "NODE_OPTIONS=--no-experimental-strip-types jest --ci --colors --selectProjects='Integration Tests - AMP'", "test:integration:lite": "NODE_OPTIONS=--no-experimental-strip-types jest --ci --colors --selectProjects='Integration Tests - Lite'", - "test:file": "NODE_OPTIONS=--no-experimental-strip-types jest --selectProjects='Unit Tests' --runTestsByPath", "cypress": "cypress run --browser chrome", "cypress:interactive": "cypress open --browser chrome", "test:e2e": "yarn stop && yarn build && run-p --race start cypress -- --e2e",