Skip to content

Add end-to-end tests for app info - #8708

Closed
byrichardpowell wants to merge 1 commit into
mainfrom
rp/app-info-command-tests
Closed

byrichardpowell wants to merge 1 commit into
mainfrom
rp/app-info-command-tests

Conversation

@byrichardpowell

@byrichardpowell byrichardpowell commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

WHY are these changes introduced?

app info crosses CLI startup, configuration discovery, authentication, network, persistent storage, extension loading, and lifecycle hooks. Existing unit tests do not prove how those pieces behave together through the shipped CLI entrypoint.

WHAT is this pull request doing?

Adds an isolated command-level Vitest harness and 261 app info cases. Each case launches packages/cli/bin/run.js through bash, uses real temporary files and stores, and blocks unregistered network and subprocess activity.

The suite covers result modes, configuration selection, linking, authentication, retries, caches, historical configuration inputs, extension type generation, localization, lifecycle behavior, and failure side effects.

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes
  • I've considered analytics changes to measure impact
  • The change is user-facing — I've identified the correct bump type (patch for bug fixes · minor for new features · major for breaking changes) and added a changeset with pnpm changeset add

@byrichardpowell
byrichardpowell requested a review from a team as a code owner September 30, 2026 14:20
Copilot AI balanced review requested due to automatic review settings September 30, 2026 14:20
@byrichardpowell
byrichardpowell added this pull request to stack #8711 September 30, 2026 14:21
@github-actions github-actions Bot added the Area: @shopify/app @shopify/app package issues label Sep 30, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

The new Vitest project runs in Windows CI, but its harness depends on Bash paths removed from the child environment.

Review effort: Balanced
Findings: 1 High severity

Open (1)
What changed in this PR

Adds an end-to-end harness and comprehensive fixture catalog for exercising app info through the bundled CLI.

Changes:

  • Adds app-info scenarios covering authentication, networking, configuration, extensions, and failures.
  • Introduces isolated filesystem, process, state, and network test utilities.
  • Registers the suite with Vitest and excludes synthetic fixtures from tooling.
File Description
test/​app-info.test.ts Defines app-info end-to-end scenarios.
test/​vite.config.ts Configures the command-test project.
test/​tsconfig.json Configures test TypeScript compilation.
test/​support/​*.ts Implements the isolated command harness.
test/​fixtures/​.gitignore Retains normally ignored fixture inputs.
test/​fixtures/​app-information/​** Provides synthetic projects and edge-case inputs.
vite.config.ts Registers the new test project.
tsconfig.json Includes the root Vitest configuration.
eslint.config.js Excludes intentionally invalid fixtures.
.prettierignore Preserves exact fixture contents.
.nxignore Prevents fixtures from being treated as projects.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread vite.config.ts
@byrichardpowell
byrichardpowell force-pushed the rp/app-info-command-tests branch 3 times, most recently from 4e768cd to 6cba6fc Compare September 30, 2026 15:07
@byrichardpowell
byrichardpowell force-pushed the rp/app-info-command-tests branch from 6cba6fc to 81d9061 Compare September 30, 2026 15:14
@github-actions github-actions Bot added no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users. and removed Area: @shopify/app @shopify/app package issues labels Sep 30, 2026
@isaacroldan

Copy link
Copy Markdown
Contributor

I was going to review this, but it's a 7700 lines PR 😬 😅

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

Labels

no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants