w3bdesign/dfweb-v4

View on GitHub
cypress/support/functions.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { Result } from "axe-core";

export function terminalLog(violations: Result[]) {
  cy.task(
    "log",
    `${violations.length} accessibility violation${violations.length === 1 ? "" : "s"} ${
      violations.length === 1 ? "was" : "were"
    } detected`,
  );

  const violationData = violations.map(
    ({ id, impact, description, nodes }) => ({
      id,
      impact,
      description,
      nodes: nodes.length,
    }),
  );
  cy.task("table", violationData);
  console.table(violationData);
}

export function checkAccessibility(delay?: number) {
  if (delay) {
    cy.wait(delay);
  }
  cy.injectAxe();
  cy.checkA11y(undefined, undefined, terminalLog);
}