Skip to content

Remove Cucumber test infrastructure#6996

Open
ryancbahan wants to merge 2 commits intomainfrom
delete-cucumber
Open

Remove Cucumber test infrastructure#6996
ryancbahan wants to merge 2 commits intomainfrom
delete-cucumber

Conversation

@ryancbahan
Copy link
Contributor

@ryancbahan ryancbahan commented Mar 12, 2026

NOTE: I will update the branch protection rules to remove cucumber tests once the pr is approved, to reduce diff in time where rules are disabled for actively running infra.

Summary

  • Remove the entire packages/features Cucumber test suite, which has been superseded by the Playwright-based e2e tests in packages/e2e
  • Remove all CI jobs/steps that ran Cucumber acceptance tests (PR, main, and manual workflows)
  • Clean up root package.json scripts (test:features, test:regenerate-snapshots), knip config, and ESLint overrides
  • Update testing strategy docs to reference e2e tests instead of Cucumber

Cucumber scenarios to migrate to e2e (followup)

The following active scenarios should be considered for migration to the Playwright e2e suite:

  • App scaffold + build — creates react-router and extension-only apps, then builds them (will add to e2e)
  • CLI command snapshot — lists all commands and validates against a snapshot (do we want snapshots?)
  • GitHub Actions pinning — validates non-official actions are pinned (could also be a lint rule)
  • Shared node deps sync — checks shared dependencies are on the same version (could also be a lint rule)
  • Theme — was entirely commented out, nothing to migrate

Test plan

  • pnpm-lock.yaml regenerated cleanly
  • package.json validates as valid JSON
  • No remaining references to @shopify/features, cucumber, or test:features in code
  • CI passes without the removed acceptance-tests job

🤖 Generated with Claude Code

The packages/features Cucumber test suite has been replaced by the
Playwright-based e2e tests in packages/e2e. This removes the entire
Cucumber infrastructure:

- Delete packages/features (feature files, step definitions, world
  setup, helpers, snapshots, and config)
- Remove test:features and test:regenerate-snapshots scripts
- Remove acceptance-tests CI job from PR workflow
- Remove acceptance test steps from main and manual workflows
- Remove features package from knip config and ESLint overrides
- Update testing strategy docs to reference e2e tests

Active cucumber scenarios to consider migrating to e2e in a followup:
- App scaffold + build (react-router and extension-only apps)
- CLI command snapshot validation
- GitHub Actions pinning check
- Shared node dependency version sync

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ryancbahan ryancbahan requested a review from a team as a code owner March 12, 2026 17:53
Copy link
Contributor Author

ryancbahan commented Mar 12, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 12, 2026

Coverage report

St.
Category Percentage Covered / Total
🟡 Statements 77.22% 14548/18839
🟡 Branches 70.91% 7217/10178
🟡 Functions 76.2% 3698/4853
🟡 Lines 78.72% 13753/17471

Test suite run success

3806 tests passing in 1462 suites.

Report generated by 🧪jest coverage report action from d594292

@ryancbahan ryancbahan requested a review from dmerand March 12, 2026 18:08
Copy link
Contributor

@dmerand dmerand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There may be a couple of existing feature tests that we should implement before removing (mostly so we don't forget to reimplement) -- WDYT?


Review assisted by pair-review

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Ref Line 204) Note that we should make a plan for activating the E2E tests as blocking.

Distinguish between `pnpm test` (Vitest unit tests) and `pnpm test:e2e`
(Playwright end-to-end suite) so contributors know how to exercise the
full test suite.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Contributor Author

@dmerand I've got a pr incoming on top of this to add tests for action SHA and command graph snapshot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants