Back to Handsontable

Testing Overview (Monorepo)

.ai/TESTING.md

18.0.02.9 KB
Original Source

Testing Overview (Monorepo)

This is a short map of the test pipelines across the monorepo. Each entry lists its run command and points to the deep reference for detail.

For full core testing detail (boilerplate, async rules, theme-aware assertions, global helpers, mocking, fixtures, custom matchers), see handsontable/.ai/TESTING.md.

Pipelines

PipelineFrameworkFile patternRun commandDeep reference
Core unitJest (jsdom, jest-jasmine2 runner)*.unit.jsnpm --prefix handsontable run test:unithandsontable/.ai/TESTING.md
Core E2EJasmine + Puppeteer (headless Chrome)*.spec.jsnpm --prefix handsontable run test:e2ehandsontable/.ai/TESTING.md
Type teststsc only*.types.tsnpm --prefix handsontable run test:typeshandsontable/.ai/TESTING.md
WalkontableSeparate runner (SpecRunner.html)npm --prefix handsontable run test:walkontablehandsontable/src/3rdparty/walkontable/AGENTS.md; skills walkontable-testing, walkontable-dev
React wrapperJest + @testing-library/reactnpm --prefix wrappers/react-wrapper run testwrappers/react-wrapper/AGENTS.md
Vue 3 wrapperJest + @vue/test-utilsnpm --prefix wrappers/vue3 run testwrappers/vue3/AGENTS.md
Angular wrapperjest-preset-angularnpm --prefix wrappers/angular-wrapper run testwrappers/angular-wrapper/AGENTS.md
Visual regressionPlaywright + Argosnpm --prefix visual-tests run testvisual-tests/AGENTS.md; skills visual-testing, creating-visual-test-examples
PerformancePlaywright + CDP tracesnode scripts/run.mjs (run from performance-tests/)skill performance-testing

Notes

  • The core unit and E2E pipelines are the highest-traffic. Both live inside the handsontable package. Run targeted subsets with --testPathPattern=<regex>.
  • The Angular wrapper test script sets NODE_OPTIONS=--openssl-legacy-provider internally — no manual flag is needed.
  • The Walkontable engine has its own runner and configuration. Do not mix Walkontable specs with the core E2E suite.
  • performance-tests/ is not a pnpm workspace. Run its scripts from inside the directory (for example node scripts/run.mjs). See the performance-testing skill for the trace-based measurement system and the golden-snapshot workflow.
  • Build the core package before running wrapper tests. Wrappers consume the core tmp/ output through workspace linking. See .ai/BUILD.md.

Inside a package

Run a package script from the workspace root with npm --prefix <dir> run <task>, or cd into the package and use npm run <task> directly. The core package exposes a full pipeline (npm run test runs lint, unit, types, walkontable, e2e, and production checks).