Files
CWC/tests/site-a11y.spec.js
T

89 lines
2.6 KiB
JavaScript

const { test, expect } = require("@playwright/test");
const AxeBuilder = require("@axe-core/playwright").default;
const domain =
process.env.TEST_BASE_URL || "http://community-works-collaborative.test/";
test.use({
viewport: { width: 1920, height: 1080 },
});
test.describe("site-test", () => {
test("Homepage Test", async ({ page }, testInfo) => {
await page.goto(domain);
await page.screenshot({
path: "test-results/homepage.png",
fullPage: true,
});
const accessibilityScanResults = await new AxeBuilder({ page })
.withTags([
"wcag2a",
"wcag2aa",
"wcag21a",
"wcag21aa",
"wcag22a",
"wcag22aa",
])
.analyze();
await testInfo.attach("accessibility-scan-results", {
body: JSON.stringify(accessibilityScanResults, null, 2),
contentType: "application/json",
});
expect(accessibilityScanResults.violations).toEqual([]);
});
test("Blog Index Page Test", async ({ page }, testInfo) => {
await page.goto(`${domain}news/`);
await page.screenshot({
path: "test-results/blog-index.png",
fullPage: true,
});
const accessibilityScanResults = await new AxeBuilder({ page })
.withTags([
"wcag2a",
"wcag2aa",
"wcag21a",
"wcag21aa",
"wcag22a",
"wcag22aa",
])
.analyze();
await testInfo.attach("accessibility-scan-results", {
body: JSON.stringify(accessibilityScanResults, null, 2),
contentType: "application/json",
});
expect(accessibilityScanResults.violations).toEqual([]);
});
test("404 Page Test", async ({ page }, testInfo) => {
await page.goto(`${domain}yaya/`);
await page.screenshot({ path: "test-results/404.png", fullPage: true });
const accessibilityScanResults = await new AxeBuilder({ page })
.withTags([
"wcag2a",
"wcag2aa",
"wcag21a",
"wcag21aa",
"wcag22a",
"wcag22aa",
])
.analyze();
await testInfo.attach("accessibility-scan-results", {
body: JSON.stringify(accessibilityScanResults, null, 2),
contentType: "application/json",
});
expect(accessibilityScanResults.violations).toEqual([]);
});
});