1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-06 00:13:28 +00:00

[CL-301] Enable Storybook test runner. Run a11y tests also (#14646)

* Enable Storybook test runner. Run a11y tests also

* no need to return checkA11y function

* add back decorator removed in error

* add test runner to our ownership

* add axe-playwright to our ownership
This commit is contained in:
Bryan Cunningham
2025-05-12 11:50:29 -04:00
committed by GitHub
parent 2487e9b98d
commit 355bddc6c9
6 changed files with 2062 additions and 151 deletions

50
.storybook/test-runner.ts Normal file
View File

@@ -0,0 +1,50 @@
import {
// waitForPageReady,
type TestRunnerConfig,
} from "@storybook/test-runner";
import { injectAxe, checkA11y } from "axe-playwright";
const testRunnerConfig: TestRunnerConfig = {
setup() {},
async preVisit(page, context) {
return await injectAxe(page);
},
async postVisit(page, context) {
await page.waitForSelector("#storybook-root");
// https://github.com/abhinaba-ghosh/axe-playwright#parameters-on-checka11y-axerun
await checkA11y(
// Playwright page instance.
page,
// context
"#storybook-root",
// axeOptions, see https://www.deque.com/axe/core-documentation/api-documentation/#parameters-axerun
{
detailedReport: true,
detailedReportOptions: {
// Includes the full html for invalid nodes
html: true,
},
verbose: false,
},
// skipFailures
false,
// reporter "v2" is terminal reporter, "html" writes results to file
"v2",
// axeHtmlReporterOptions
// NOTE: set reporter param (above) to "html" to activate these options
{
outputDir: "reports/a11y",
reportFileName: `${context.id}.html`,
},
);
},
};
export default testRunnerConfig;