From 3882f2ae43f87aa76bea26e313601bda8ba5f13a Mon Sep 17 00:00:00 2001 From: Nayden Naydenov Date: Tue, 18 Mar 2025 15:39:31 +0200 Subject: [PATCH 1/7] chore: integrate cypress-axe plugin --- packages/cypress-internal/package.json | 10 +- .../src/acc_report/support.ts | 63 +++++++++++++ .../cypress-internal/src/acc_report/task.ts | 94 +++++++++++++++++++ packages/cypress-internal/src/commands.ts | 4 +- .../cypress-internal/src/cypress.config.ts | 3 + packages/cypress-internal/src/helpers.ts | 16 ++++ packages/cypress-internal/tsconfig.json | 3 +- packages/main/cypress/specs/Button.cy.tsx | 16 ++++ yarn.lock | 10 ++ 9 files changed, 213 insertions(+), 6 deletions(-) create mode 100644 packages/cypress-internal/src/acc_report/support.ts create mode 100644 packages/cypress-internal/src/acc_report/task.ts create mode 100644 packages/cypress-internal/src/helpers.ts diff --git a/packages/cypress-internal/package.json b/packages/cypress-internal/package.json index 066f0d22743f..69222f5bdee8 100644 --- a/packages/cypress-internal/package.json +++ b/packages/cypress-internal/package.json @@ -13,12 +13,14 @@ }, "type": "module", "dependencies": { - "eslint-plugin-cypress": "^3.4.0", "@ui5/cypress-ct-ui5-webc": "0.0.2", - "cypress": "^13.11.0", - "typescript": "^5.6.2", "rimraf": "^3.0.2", + "@cypress/code-coverage": "^3.13.11", + "axe-core": "^4.10.2", + "cypress": "^13.11.0", + "cypress-axe": "^1.6.0", "cypress-real-events": "^1.12.0", - "@cypress/code-coverage": "^3.13.11" + "eslint-plugin-cypress": "^3.4.0", + "typescript": "^5.6.2" } } \ No newline at end of file diff --git a/packages/cypress-internal/src/acc_report/support.ts b/packages/cypress-internal/src/acc_report/support.ts new file mode 100644 index 000000000000..b53d54ec60b0 --- /dev/null +++ b/packages/cypress-internal/src/acc_report/support.ts @@ -0,0 +1,63 @@ +import 'cypress-axe' +import type { AxeResults, ImpactValue } from "axe-core"; +import { Options } from "cypress-axe"; + +type Vialotation = { + id: string, + impact: ImpactValue | undefined, + description: string + nodes: number, +} + +type TestFails = { + testTitlePath: string[], + violations: Vialotation[] +} + +type TestReport = { + testFile: string, + errors: TestFails[] +} + +function checkA11TerminalLog(violations: typeof AxeResults.violations) { + const violationData = violations.map( + ({ id, impact, description, nodes }) => ({ + id, + impact, + description, + nodes: nodes.length + }) + ) + + const report: TestReport = { + testFile: Cypress.spec.relative, + errors: [{ + testTitlePath: Cypress.currentTest.titlePath, + violations: violationData, + }] + } + + cy.task('ui5ReportA11y', report) +} + +declare global { + namespace Cypress { + interface Chainable { + ui5CheckA11y(context?: string | Node | undefined, options?: Options | undefined): Cypress.Chainable; + } + } +} + +Cypress.Commands.add("ui5CheckA11y", (context?: string | Node | undefined, options?: Options | undefined) => { + return cy.checkA11y(context || "[data-cy-root]", options, checkA11TerminalLog, false) +}) + +if (Cypress.env('ui5AccTasksRegistered') === true) { + before(() => { + cy.task('ui5ReportA11yReset', Cypress.spec.relative); + }) +} + +export type { + TestReport, +} \ No newline at end of file diff --git a/packages/cypress-internal/src/acc_report/task.ts b/packages/cypress-internal/src/acc_report/task.ts new file mode 100644 index 000000000000..d7d4afd1f7d9 --- /dev/null +++ b/packages/cypress-internal/src/acc_report/task.ts @@ -0,0 +1,94 @@ +import { TestReport } from "./support.js"; +// @ts-ignore +import { readFileSync, writeFileSync, mkdirSync } from "fs"; +// @ts-ignore +import * as path from "path"; + +const outputPath = path.resolve("./cypress-logs/acc_log.json"); + +const findExistingReport = (fileData: TestReport[], testFile: string) => fileData.find(report => report.testFile === testFile); + +const log = (currentReport: TestReport) => { + let fileData: TestReport[] = []; + + try { + fileData = JSON.parse(readFileSync(outputPath, { encoding: "utf-8" })) as TestReport[]; + } catch (e) { } + + const existingReport = findExistingReport(fileData, currentReport.testFile); + + if (existingReport) { + existingReport.errors.push(...currentReport.errors) + } else { + fileData.push(currentReport); + } + + fileData.forEach(file => { + const paths = file.errors.map(error => error.testTitlePath.join(" ")); + file.errors = file.errors.filter((error, index) => paths.indexOf(error.testTitlePath.join(" ")) === index); + }) + + saveReportFile(fileData); +} + +const saveReportFile = (fileData: TestReport[]) => { + mkdirSync(path.dirname(outputPath), { recursive: true }); + + writeFileSync(outputPath, JSON.stringify(fileData, undefined, 4)); +}; + +const reset = (testFile: string) => { + try { + let fileData = JSON.parse(readFileSync(outputPath, { encoding: "utf-8" })) as TestReport[]; + const existingReport = findExistingReport(fileData, testFile); + + if (existingReport) { + fileData.splice(fileData.indexOf(existingReport), 1) + + saveReportFile(fileData); + } + } catch (e) { } +} + +function accTask(on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions) { + if (config.env.UI5_ACC === true) { + on('before:run', () => { + // Reset the report file when tests are run with the `cypress run` command. + // This event is triggered when running tests with the `cypress open` command (behind an experimental flag). + // `config.isInteractive` helps us determine whether the tests are running in interactive mode (`cypress open`) or non-interactive mode (`cypress run`). + if (!config.isInteractive) { + saveReportFile([]); + } + }); + + on('before:browser:launch', () => { + // Reset the report file when tests are run with the `cypress open` command. + // `config.isInteractive` helps us determine whether the tests are running in interactive mode (`cypress open`) or non-interactive mode (`cypress run`). + if (config.isInteractive) { + saveReportFile([]); + } + }); + + on('task', { + // Adds the accessibility report for the current test to the spec file logs + ui5ReportA11y(report: TestReport) { + log(report); + + return null; + }, + + // Removes all existing logs for the current test file when the spec file is loaded + ui5ReportA11yReset(testFile: string) { + reset(testFile); + + return null; + } + }) + + config.env.ui5AccTasksRegistered = true + } + + return config +} + +export default accTask; \ No newline at end of file diff --git a/packages/cypress-internal/src/commands.ts b/packages/cypress-internal/src/commands.ts index 8855ef0ab7ef..7092f96f1985 100644 --- a/packages/cypress-internal/src/commands.ts +++ b/packages/cypress-internal/src/commands.ts @@ -1,5 +1,7 @@ import "cypress-real-events"; import '@cypress/code-coverage/support' +import "./acc_report/support.js"; +import "./helpers.js" const realEventCmdCallback = (originalFn: any, element: any, ...args: any) => { cy.get(element) @@ -26,4 +28,4 @@ const commands = [ commands.forEach(cmd => { Cypress.Commands.overwrite(cmd as any, realEventCmdCallback) -}); \ No newline at end of file +}); diff --git a/packages/cypress-internal/src/cypress.config.ts b/packages/cypress-internal/src/cypress.config.ts index 9f4aeed9eaaa..3cbb260bf372 100644 --- a/packages/cypress-internal/src/cypress.config.ts +++ b/packages/cypress-internal/src/cypress.config.ts @@ -2,11 +2,14 @@ import { defineConfig } from "cypress"; // @ts-ignore import viteConfig from "../../../vite.config.js"; import coverageTask from "@cypress/code-coverage/task.js"; +import accTask from "./acc_report/task.js"; + export default defineConfig({ component: { setupNodeEvents(on, config) { coverageTask(on, config); + accTask(on, config) return config }, diff --git a/packages/cypress-internal/src/helpers.ts b/packages/cypress-internal/src/helpers.ts new file mode 100644 index 000000000000..e14651b464f8 --- /dev/null +++ b/packages/cypress-internal/src/helpers.ts @@ -0,0 +1,16 @@ +declare global { + function ui5AccDescribe(title: string, fn: (this: Mocha.Suite) => void): Mocha.Suite | void; +} + +globalThis.ui5AccDescribe = (title: string, fn: (this: Mocha.Suite) => void): Mocha.Suite | void => { + if (Cypress.env('ui5AccTasksRegistered') === true) { + return describe.only(`[UI5-ACC-TESTS] ${title}`, function (this: Mocha.Suite) { + before(() => { + cy.injectAxe({ axeCorePath: "../../node_modules/axe-core/axe.min.js" }); + }); + fn.call(this); + }); + } +}; + +export { } \ No newline at end of file diff --git a/packages/cypress-internal/tsconfig.json b/packages/cypress-internal/tsconfig.json index b631651ab7d0..ba7157b9c5a7 100644 --- a/packages/cypress-internal/tsconfig.json +++ b/packages/cypress-internal/tsconfig.json @@ -14,7 +14,8 @@ "esModuleInterop": true, "strict": true, "types": [ - "cypress" + "cypress", + "cypress-axe", ] }, } \ No newline at end of file diff --git a/packages/main/cypress/specs/Button.cy.tsx b/packages/main/cypress/specs/Button.cy.tsx index b11c684e0dc0..f7c1ca6ce6e6 100644 --- a/packages/main/cypress/specs/Button.cy.tsx +++ b/packages/main/cypress/specs/Button.cy.tsx @@ -41,6 +41,7 @@ describe("Button general interaction", () => { .find(".ui5-button-icon") .should("not.exist", "icon is not present"); }); + it("tests button's endIon rendering", () => { cy.mount(); @@ -387,3 +388,18 @@ describe("Accessibility", () => { .should("have.text", "999+"); }); }); + +ui5AccDescribe("Automated accessibility tests", () => { + it("1", () => { + cy.wait(5000); + cy.mount(); + + cy.ui5CheckA11y(); + }) + + it("2", () => { + cy.mount(); + + cy.ui5CheckA11y(); + }) +}); \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 8422e2df5298..aec4e63a3226 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6223,6 +6223,11 @@ axe-core@4.2.3: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.2.3.tgz#2a3afc332f0031b42f602f4a3de03c211ca98f72" integrity sha512-pXnVMfJKSIWU2Ml4JHP7pZEPIrgBO1Fd3WGx+fPBsS+KRGhE4vxooD8XBGWbQOIVSZsVK7pUDBBkCicNu80yzQ== +axe-core@^4.10.2: + version "4.10.2" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.2.tgz#85228e3e1d8b8532a27659b332e39b7fa0e022df" + integrity sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w== + axios@^1.0.0, axios@^1.7.4: version "1.8.3" resolved "https://registry.yarnpkg.com/axios/-/axios-1.8.3.tgz#9ebccd71c98651d547162a018a1a95a4b4ed4de8" @@ -8076,6 +8081,11 @@ custom-elements-manifest@1.0.0: resolved "https://registry.yarnpkg.com/custom-elements-manifest/-/custom-elements-manifest-1.0.0.tgz#b35c2129076a1dc9f95d720c6f7b5b71a857274b" integrity sha512-j59k0ExGCKA8T6Mzaq+7axc+KVHwpEphEERU7VZ99260npu/p/9kd+Db+I3cGKxHkM5y6q5gnlXn00mzRQkX2A== +cypress-axe@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/cypress-axe/-/cypress-axe-1.6.0.tgz#2d70475e15356dd243ebcbfefd5719526f7ca9bc" + integrity sha512-C/ij50G8eebBrl/WsGT7E+T/SFyIsRZ3Epx9cRTLrPL9Y1GcxlQGFoAVdtSFWRrHSCWXq9HC6iJQMaI89O9yvQ== + cypress-real-events@^1.12.0: version "1.12.0" resolved "https://registry.yarnpkg.com/cypress-real-events/-/cypress-real-events-1.12.0.tgz#ffeb2b23686ba5b16ac91dd9bc3b6785d36d38d3" From 36eb1b47fae7f6eb4e960df6319aa62d479dae1b Mon Sep 17 00:00:00 2001 From: Nayden Naydenov Date: Wed, 19 Mar 2025 13:26:32 +0200 Subject: [PATCH 2/7] chore: cleanup --- packages/cypress-internal/package.json | 10 +++++----- packages/main/cypress/specs/Button.cy.tsx | 7 +------ 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/packages/cypress-internal/package.json b/packages/cypress-internal/package.json index 69222f5bdee8..07d22a4edaa6 100644 --- a/packages/cypress-internal/package.json +++ b/packages/cypress-internal/package.json @@ -13,14 +13,14 @@ }, "type": "module", "dependencies": { + "eslint-plugin-cypress": "^3.4.0", "@ui5/cypress-ct-ui5-webc": "0.0.2", + "cypress": "^13.11.0", + "typescript": "^5.6.2", "rimraf": "^3.0.2", + "cypress-real-events": "^1.12.0", "@cypress/code-coverage": "^3.13.11", "axe-core": "^4.10.2", - "cypress": "^13.11.0", - "cypress-axe": "^1.6.0", - "cypress-real-events": "^1.12.0", - "eslint-plugin-cypress": "^3.4.0", - "typescript": "^5.6.2" + "cypress-axe": "^1.6.0" } } \ No newline at end of file diff --git a/packages/main/cypress/specs/Button.cy.tsx b/packages/main/cypress/specs/Button.cy.tsx index f7c1ca6ce6e6..874ac66d79e2 100644 --- a/packages/main/cypress/specs/Button.cy.tsx +++ b/packages/main/cypress/specs/Button.cy.tsx @@ -390,16 +390,11 @@ describe("Accessibility", () => { }); ui5AccDescribe("Automated accessibility tests", () => { - it("1", () => { + it("Icon only", () => { cy.wait(5000); cy.mount(); cy.ui5CheckA11y(); }) - - it("2", () => { - cy.mount(); - - cy.ui5CheckA11y(); }) }); \ No newline at end of file From 2ca8284a5ab2fbc1c2ecb251603d8b488c86e4b4 Mon Sep 17 00:00:00 2001 From: Nayden Naydenov Date: Wed, 19 Mar 2025 13:27:16 +0200 Subject: [PATCH 3/7] chore: cleanup --- packages/main/cypress/specs/Button.cy.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/main/cypress/specs/Button.cy.tsx b/packages/main/cypress/specs/Button.cy.tsx index 874ac66d79e2..e0fc80560a16 100644 --- a/packages/main/cypress/specs/Button.cy.tsx +++ b/packages/main/cypress/specs/Button.cy.tsx @@ -391,7 +391,6 @@ describe("Accessibility", () => { ui5AccDescribe("Automated accessibility tests", () => { it("Icon only", () => { - cy.wait(5000); cy.mount(); cy.ui5CheckA11y(); From 814f6de236532faa236a0d7959d0469b5bbcb47a Mon Sep 17 00:00:00 2001 From: Nayden Naydenov Date: Wed, 19 Mar 2025 13:42:24 +0200 Subject: [PATCH 4/7] chore: cleanup --- .../src/acc_report/support.ts | 4 +- .../cypress-internal/src/acc_report/task.ts | 42 ++++++++++--------- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/packages/cypress-internal/src/acc_report/support.ts b/packages/cypress-internal/src/acc_report/support.ts index b53d54ec60b0..097e110f306c 100644 --- a/packages/cypress-internal/src/acc_report/support.ts +++ b/packages/cypress-internal/src/acc_report/support.ts @@ -9,14 +9,14 @@ type Vialotation = { nodes: number, } -type TestFails = { +type TestVialotation = { testTitlePath: string[], violations: Vialotation[] } type TestReport = { testFile: string, - errors: TestFails[] + errors: TestVialotation[] } function checkA11TerminalLog(violations: typeof AxeResults.violations) { diff --git a/packages/cypress-internal/src/acc_report/task.ts b/packages/cypress-internal/src/acc_report/task.ts index d7d4afd1f7d9..1b76776657ce 100644 --- a/packages/cypress-internal/src/acc_report/task.ts +++ b/packages/cypress-internal/src/acc_report/task.ts @@ -6,48 +6,50 @@ import * as path from "path"; const outputPath = path.resolve("./cypress-logs/acc_log.json"); -const findExistingReport = (fileData: TestReport[], testFile: string) => fileData.find(report => report.testFile === testFile); - -const log = (currentReport: TestReport) => { - let fileData: TestReport[] = []; +const findExistingReport = (reportData: TestReport[], testFile: string) => reportData.find(report => report.testFile === testFile); +const readReportFile = (): TestReport[] => { try { - fileData = JSON.parse(readFileSync(outputPath, { encoding: "utf-8" })) as TestReport[]; - } catch (e) { } + return JSON.parse(readFileSync(outputPath, { encoding: "utf-8" })) as TestReport[]; + } catch (e) { + return []; + } +} - const existingReport = findExistingReport(fileData, currentReport.testFile); +const log = (currentReport: TestReport) => { + let reportData = readReportFile(); + + const existingReport = findExistingReport(reportData, currentReport.testFile); if (existingReport) { existingReport.errors.push(...currentReport.errors) } else { - fileData.push(currentReport); + reportData.push(currentReport); } - fileData.forEach(file => { + reportData.forEach(file => { const paths = file.errors.map(error => error.testTitlePath.join(" ")); file.errors = file.errors.filter((error, index) => paths.indexOf(error.testTitlePath.join(" ")) === index); }) - saveReportFile(fileData); + saveReportFile(reportData); } -const saveReportFile = (fileData: TestReport[]) => { +const saveReportFile = (reportData: TestReport[]) => { mkdirSync(path.dirname(outputPath), { recursive: true }); - writeFileSync(outputPath, JSON.stringify(fileData, undefined, 4)); + writeFileSync(outputPath, JSON.stringify(reportData, undefined, 4)); }; const reset = (testFile: string) => { - try { - let fileData = JSON.parse(readFileSync(outputPath, { encoding: "utf-8" })) as TestReport[]; - const existingReport = findExistingReport(fileData, testFile); + let reportData = readReportFile(); + const existingReport = findExistingReport(reportData, testFile); - if (existingReport) { - fileData.splice(fileData.indexOf(existingReport), 1) + if (existingReport) { + reportData.splice(reportData.indexOf(existingReport), 1) - saveReportFile(fileData); - } - } catch (e) { } + saveReportFile(reportData); + } } function accTask(on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions) { From edb34d4451ae21d05a204539cd22677a2d025599 Mon Sep 17 00:00:00 2001 From: Nayden Naydenov Date: Wed, 19 Mar 2025 13:43:04 +0200 Subject: [PATCH 5/7] chore: cleanup --- packages/main/cypress/specs/Button.cy.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/main/cypress/specs/Button.cy.tsx b/packages/main/cypress/specs/Button.cy.tsx index e0fc80560a16..673453e79576 100644 --- a/packages/main/cypress/specs/Button.cy.tsx +++ b/packages/main/cypress/specs/Button.cy.tsx @@ -395,5 +395,4 @@ ui5AccDescribe("Automated accessibility tests", () => { cy.ui5CheckA11y(); }) - }) }); \ No newline at end of file From d6c0c62d496d91684adb5b642e60f3aa41171990 Mon Sep 17 00:00:00 2001 From: Nayden Naydenov Date: Thu, 20 Mar 2025 14:39:12 +0200 Subject: [PATCH 6/7] chore: add log page --- .gitignore | 3 + .../cypress-internal/src/acc_report/index | 94 +++++++++++++++++++ .../cypress-internal/src/acc_report/task.ts | 25 ++++- packages/cypress-internal/src/copy.js | 1 + packages/cypress-internal/src/helpers.ts | 2 +- 5 files changed, 119 insertions(+), 6 deletions(-) create mode 100644 packages/cypress-internal/src/acc_report/index diff --git a/.gitignore b/.gitignore index 456ca12b85fa..f7975403752b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,9 @@ dist coverage .nyc_output +# Cypress internal logs +cypress-logs + # scoping feature generated entry points for vite consumption packages/compat/test/pages/scoped packages/main/test/pages/scoped diff --git a/packages/cypress-internal/src/acc_report/index b/packages/cypress-internal/src/acc_report/index new file mode 100644 index 000000000000..b5233d5109cc --- /dev/null +++ b/packages/cypress-internal/src/acc_report/index @@ -0,0 +1,94 @@ + + + + + + + Cypress Test Report + + + + + +

Cypress Test Report

+ +
+
    +
+
+ + + + + + + \ No newline at end of file diff --git a/packages/cypress-internal/src/acc_report/task.ts b/packages/cypress-internal/src/acc_report/task.ts index 1b76776657ce..df6e7cd24907 100644 --- a/packages/cypress-internal/src/acc_report/task.ts +++ b/packages/cypress-internal/src/acc_report/task.ts @@ -1,10 +1,17 @@ import { TestReport } from "./support.js"; -// @ts-ignore +// @ts-expect-error import { readFileSync, writeFileSync, mkdirSync } from "fs"; -// @ts-ignore +// @ts-expect-error import * as path from "path"; +// @ts-expect-error +import { fileURLToPath } from 'node:url'; -const outputPath = path.resolve("./cypress-logs/acc_log.json"); +// @ts-expect-error +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +const outputPath = path.resolve("./cypress-logs/acc_logs.json"); +const outputPathIndex = path.resolve("./cypress-logs/index.html"); const findExistingReport = (reportData: TestReport[], testFile: string) => reportData.find(report => report.testFile === testFile); @@ -52,6 +59,14 @@ const reset = (testFile: string) => { } } +const prepare = () => { + const indexTemplate = readFileSync(path.join(__dirname, "index"), { encoding: "utf-8" }); + writeFileSync(outputPathIndex, indexTemplate); + + saveReportFile([]); + +} + function accTask(on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions) { if (config.env.UI5_ACC === true) { on('before:run', () => { @@ -59,7 +74,7 @@ function accTask(on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions) // This event is triggered when running tests with the `cypress open` command (behind an experimental flag). // `config.isInteractive` helps us determine whether the tests are running in interactive mode (`cypress open`) or non-interactive mode (`cypress run`). if (!config.isInteractive) { - saveReportFile([]); + prepare(); } }); @@ -67,7 +82,7 @@ function accTask(on: Cypress.PluginEvents, config: Cypress.PluginConfigOptions) // Reset the report file when tests are run with the `cypress open` command. // `config.isInteractive` helps us determine whether the tests are running in interactive mode (`cypress open`) or non-interactive mode (`cypress run`). if (config.isInteractive) { - saveReportFile([]); + prepare(); } }); diff --git a/packages/cypress-internal/src/copy.js b/packages/cypress-internal/src/copy.js index f1eafe13df30..cf5439daae0e 100644 --- a/packages/cypress-internal/src/copy.js +++ b/packages/cypress-internal/src/copy.js @@ -4,5 +4,6 @@ import path from "path"; const dirname = import.meta.dirname; await copyFile(path.join(dirname, "./eslint.cjs"), path.join(dirname, "../dist/eslint.cjs")) +await copyFile(path.join(dirname, "./acc_report/index"), path.join(dirname, "../dist/acc_report/index")) console.log("eslint.cjs copied successfully") \ No newline at end of file diff --git a/packages/cypress-internal/src/helpers.ts b/packages/cypress-internal/src/helpers.ts index e14651b464f8..e27036469f0c 100644 --- a/packages/cypress-internal/src/helpers.ts +++ b/packages/cypress-internal/src/helpers.ts @@ -4,7 +4,7 @@ declare global { globalThis.ui5AccDescribe = (title: string, fn: (this: Mocha.Suite) => void): Mocha.Suite | void => { if (Cypress.env('ui5AccTasksRegistered') === true) { - return describe.only(`[UI5-ACC-TESTS] ${title}`, function (this: Mocha.Suite) { + return describe.only(`${title}`, function (this: Mocha.Suite) { before(() => { cy.injectAxe({ axeCorePath: "../../node_modules/axe-core/axe.min.js" }); }); From f0d5e5692156af96cdba9a114d18f3ddb4adda1e Mon Sep 17 00:00:00 2001 From: Nayden Naydenov Date: Thu, 20 Mar 2025 14:42:31 +0200 Subject: [PATCH 7/7] chore: console logs --- packages/cypress-internal/src/copy.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/cypress-internal/src/copy.js b/packages/cypress-internal/src/copy.js index cf5439daae0e..8be4d7ebe67b 100644 --- a/packages/cypress-internal/src/copy.js +++ b/packages/cypress-internal/src/copy.js @@ -3,7 +3,11 @@ import path from "path"; const dirname = import.meta.dirname; +const files = [ + +]; + await copyFile(path.join(dirname, "./eslint.cjs"), path.join(dirname, "../dist/eslint.cjs")) +console.log("eslint.cjs copied successfully") await copyFile(path.join(dirname, "./acc_report/index"), path.join(dirname, "../dist/acc_report/index")) - -console.log("eslint.cjs copied successfully") \ No newline at end of file +console.log("acc_report/index copied successfully")