testing-workflow

Runs and debugs unit, integration, E2E, visual, and mutation tests for React TypeScript frontends.

1|Updated Jun 9, 2026
One-click install
npx skills add https://github.com/VilnaCRM-Org/claude-plugins --skill testing-workflow-vilnacrm-org
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: testing-workflow
Source: https://github.com/VilnaCRM-Org/claude-plugins/tree/main/plugins/react-frontend-sdlc/skills/testing-workflow
Command: npx skills add https://github.com/VilnaCRM-Org/claude-plugins --skill testing-workflow-vilnacrm-org

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Running and maintaining a multi-tier test suite (Jest, Playwright, Stryker) across a React 18 + TypeScript frontend is error-prone: failures need correct diagnosis, coverage and mutation gates must stay green, and visual snapshots must not be updated blindly. This Skill orchestrates the full testing workflow through the project's Makefile target map. ## Core Features & Use Cases - Multi-tier test execution: Runs unit (client jsdom + Apollo server node), integration, Playwright E2E, visual regression, and Stryker mutation suites via profile-mapped make targets, skipping capability-absent suites with explicit notes. - Failure diagnosis and fixing: Classifies failures (assertions, coverage gaps, escaped mutants, E2E traces, visual diffs, mock drift) and fixes root causes rather than silencing checks. - Deterministic test data: Enforces seeded Faker builders and accessible role/label locators instead of hardcoded literals or data-testid attributes. - Use Case: After implementing a new React component, ask the agent to run the full test suite; it executes unit, integration, E2E, visual, and mutation tiers, fixes an escaped mutant by adding a boundary test, and confirms 100% coverage with zero visual diffs. ## Quick Start Run the full test suite for my React frontend changes and fix any failing tests, coverage gaps, or visual diffs until everything passes.

Frequently Asked Questions about testing-workflow

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run unit, integration, and E2E tests for a React TypeScript app?▼

Run the Makefile targets mapped to each tier: unit client tests use jsdom with Testing Library, Apollo server tests run under node, integration enforces global 100% coverage, and Playwright handles E2E flows. All invocations go through the profile's make target map rather than bare jest or playwright commands.

How do I fix escaped mutants in Stryker mutation testing?▼

Review the mutation diff in the output, add a test case covering the uncaught mutation, and strengthen assertion specificity. For example, if a mutant changes > to >=, add a boundary test case. Never lower the MSI threshold or silence mutants with suppression annotations.

What should I do when Playwright visual regression tests show diffs?▼

Open the diff image and decide whether the change is intended. Unintended diffs are regressions requiring a component or style fix; intended changes allow regenerating the baseline snapshot only after inspection. Never update snapshots blindly to silence a failing run.

Can I use data-testid attributes to locate elements in Testing Library tests?▼

No, this workflow prohibits adding data-testid attributes. Use accessible role, label, and text locators in both Testing Library and Playwright, refactoring to semantic queries when an element is hard to find.

Why are my visual snapshots unstable between test runs?▼

Snapshots drift when test data is non-deterministic. Use seeded Faker builders via the shared tests/builders helpers, with the default seed or FAKER_SEED override, so generated data stays reproducible and baselines remain stable across runs.

When should I skip mutation or visual test suites?▼

Skip a suite only when its capability flag is false or its mapped make target is null, and record an explicit capability-absent note. Otherwise the mutation gate enforces the configured MSI threshold and visual tests enforce zero unintended diffs.