Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 40 additions & 7 deletions e2e/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,45 @@
# Checkout Kit End-to-End Tests

This directory is reserved for cross-platform end-to-end tests. There is no runnable e2e suite checked in yet.
This directory contains shared cross-platform Maestro flows for the Checkout Kit
sample apps.

Planned coverage:
The current shared smoke flow verifies the happy path from a sample app cart
into Shopify checkout and back to the app after completion. Each platform owns
the small wrapper command that supplies its app id, cart bootstrap link, and
platform-specific checkout field handling.

- Swift checkout presentation and protocol lifecycle.
- Android checkout presentation and protocol lifecycle.
- React Native wrapper behavior.
- Web component open/close and `checkout:*` events.
## Run locally

Until this directory contains test code, use the platform test suites and sample apps described in each platform README.
Build and install the target sample app first, then run the matching Maestro
command.

From `platforms/react-native`:

```bash
pnpm e2e:ios
pnpm e2e:android
```

From `platforms/swift`:

```bash
./Scripts/e2e_maestro_ios
```

From `platforms/android`:

```bash
./scripts/e2e_maestro_android
```

## Files

- `config.yaml` configures Maestro for shared platform behavior.
- `shared/checkout-smoke.yaml` contains the cross-platform checkout smoke flow.

## Scope

This smoke flow is intended to catch regressions in the sample app integration
surface: cart bootstrap, checkout presentation, checkout completion, and return
to the sample app. It is not a replacement for checkout-web's own browser-based
test coverage.
4 changes: 4 additions & 0 deletions e2e/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
platform:
ios:
# Lets Maestro inspect elements presented inside iOS checkout modal views.
snapshotKeyHonorModalViews: true
Loading
Loading