
Run Tests
- 30 installs
- 80 repo stars
- Updated July 29, 2026
- cartridge-gg/controller
Run the Cartridge Controller test suites (unit, storybook visual regression, e2e, build) to validate changes.
About
Provides a reference for running the Cartridge Controller monorepo test suites, including unit, visual regression, e2e, and build checks. A developer uses it to validate changes or run tests before committing.
- Reference for unit, storybook visual, e2e, and build test commands
- Lists durations and purpose for each pnpm test command
Run Tests by the numbers
- 30 all-time installs (skills.sh)
- Ranked #1,349 of 2,155 Testing & QA skills by installs in the Skillselion catalog
- Data as of Jul 30, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cartridge-gg/controller --skill run-testsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 30 |
|---|---|
| repo stars | ★ 80 |
| Last updated | July 29, 2026 |
| Repository | cartridge-gg/controller ↗ |
What it does
Run the Cartridge Controller test suites (unit, storybook visual regression, e2e, build) to validate changes.
Files
Run Tests
Quick Reference
| Command | Purpose | Duration |
|---|---|---|
pnpm lint:check | Lint + format check | ~30s |
pnpm test | Unit tests | ~1-2min |
pnpm test:ci | Unit tests with coverage | ~2-3min |
pnpm test:storybook | Visual regression tests | ~5-10min |
pnpm build | Full build (includes type check) | ~2-3min |
pnpm e2e | End-to-end tests | ~5-10min |
Test Types
1. Linting and Formatting
Fastest check - always run before committing:
pnpm lint:checkThis runs:
- ESLint for code quality
- Prettier for formatting
To auto-fix issues:
pnpm format # Fix formatting + lint2. Unit Tests
Tests the keychain package:
# Standard run
pnpm test
# With coverage report
pnpm test:ci
# Run specific test file
pnpm keychain test -- --testPathPattern="connection"Test files are located in:
packages/keychain/src/**/*.test.tspackages/controller/src/__tests__/
3. Storybook Visual Regression Tests
Tests UI components for visual changes:
# Run visual tests (compares against baseline)
pnpm test:storybook
# Update baseline snapshots after intentional changes
pnpm test:storybook:updateSnapshots are stored in:
packages/keychain/__image_snapshots__/
4. Build (Type Checking)
TypeScript compilation catches type errors:
pnpm buildThis also validates that all packages compile correctly.
5. End-to-End Tests
Full integration tests with Playwright:
# Run headless
pnpm e2e
# Run with UI for debugging
pnpm e2e:uiE2E tests are in:
examples/next/tests/
CI Equivalence
To mirror what CI runs, execute in order:
# 1. Quality checks (quality.yml)
pnpm lint:check
# 2. Build and test (test.yml)
pnpm build
pnpm test:ci
# 3. Visual regression (test.yml - storybook job)
pnpm test:storybookInterpreting Results
Test Failures
# Re-run failed test with more details
pnpm keychain test -- --verbose --testNamePattern="failing test name"Snapshot Failures
If Storybook tests fail with visual differences: 1. Review the diff images in packages/keychain/__image_snapshots__/__diff_output__/ 2. If changes are intentional: pnpm test:storybook:update 3. If changes are unintentional: fix the component
Type Errors
# Check specific package
pnpm controller build:deps
pnpm keychain buildPackage-Specific Testing
# Controller SDK tests
pnpm controller test
# Keychain tests
pnpm keychain test
# Run test in watch mode for development
pnpm keychain test -- --watchCommon Issues
"Cannot find module" errors
pnpm clean && pnpm i && pnpm build:depsStorybook tests timeout
Ensure the Storybook server is not already running on port 6006.
E2E tests fail to start
Ensure dev servers are running:
pnpm dev # In one terminal
pnpm e2e # In anotherPre-Commit Verification
The git pre-commit hook automatically runs:
pnpm run format --ui stream
pnpm run lint:check --ui streamThis ensures basic quality before every commit.