Migrate cucumber tests to e2e and vitest#6997
Migrate cucumber tests to e2e and vitest#6997ryancbahan wants to merge 3 commits intodelete-cucumberfrom
Conversation
Re-implement the three active cucumber test scenarios that were removed with the Cucumber infrastructure: - Command snapshot: Playwright e2e test comparing `shopify commands --tree` output against a checked-in snapshot file - GitHub Actions pinning: vitest repo health check ensuring third-party actions are pinned to SHA - Node deps sync: vitest repo health check ensuring shared dependencies use consistent versions across packages Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add eslint-disable for no-restricted-imports and no-await-in-loop (repo health checks intentionally use Node stdlib directly) - Fix id-length violations (m -> match, v -> ver) - Add tests/tsconfig.json so eslint projectService can parse root tests - Add eslint-disable no-restricted-imports to e2e command snapshot test Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
- Move tests/repo-health.test.ts to packages/cli/src/cli/ so it lives in an existing vitest workspace project (no root tsconfig needed) - Remove tests/tsconfig.json and root "." vitest workspace entry - Add packages/e2e/scripts/* to knip ignoreBinaries to fix CI failure Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
We detected some changes at Caution DO NOT create changesets for features which you do not wish to be included in the public changelog of the next CLI release. |
Coverage report
Test suite run success3808 tests passing in 1465 suites. Report generated by 🧪jest coverage report action from c90120f |
| @@ -0,0 +1,111 @@ | |||
| /* eslint-disable no-restricted-imports, no-await-in-loop */ | |||
There was a problem hiding this comment.
we don't need to use the custom cli wrappers around fs for this test

Summary
Re-implements the three active test scenarios that were removed with the Cucumber infrastructure in #6996:
packages/e2e/tests/commands.spec.ts): Playwright e2e test that runsshopify commands --treeand compares against a checked-in snapshot. Catches command registration/import failures.packages/cli/src/cli/repo-health.test.ts): Vitest check that all third-party actions in.github/workflows/are pinned to SHA.packages/cli/src/cli/repo-health.test.ts): Vitest check that shared dependencies use consistent versions across all packages.Also adds:
packages/e2e/scripts/regenerate-snapshots.sh+test:regenerate-snapshotsroot scriptpackages/e2e/data/snapshots/commands.txtsnapshot fileTest plan
npx vitest run packages/cli/src/cli/repo-health.test.ts— both repo health checks passpnpm -w run test:regenerate-snapshots— regenerates command snapshotnpx playwright test commands(frompackages/e2e) — command snapshot test passesnpx eslint packages/cli/src/cli/repo-health.test.ts packages/e2e/tests/commands.spec.ts— cleannpx knip— no new findings🤖 Generated with Claude Code