e2e-debugging

Diagnose Playwright E2E test failures against Firebase Emulators and Stripe CLI.

Updated Mar 9, 2026
One-click install
npx skills add https://github.com/yunior123/origna_gta_firebase --skill e2e-debugging-yunior123
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: e2e-debugging
Source: https://github.com/yunior123/origna_gta_firebase/tree/main/.claude/skills/e2e-debugging
Command: npx skills add https://github.com/yunior123/origna_gta_firebase --skill e2e-debugging-yunior123

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Debugging end-to-end test failures across a Flutter web app, Firebase Emulators, and Stripe webhooks is slow and error-prone because failures can originate in infrastructure setup, backend Cloud Functions, or test assertions. This Skill provides a systematic methodology and a catalog of known failure patterns to pinpoint root causes quickly. ## Core Features & Use Cases - Infrastructure Verification: Checklists and commands to confirm Firebase Emulators (Auth, Firestore, Functions, Hosting, Storage) and Stripe CLI are running with correct ports, project ID, and webhook signing secrets. - Failure Pattern Catalog: Nine documented root causes with symptoms and fixes, including SERVER_TIMESTAMP in arrays, paymentStatus auto-capture mismatches, multi-seller status restrictions, CallableRequest vs Flask Request errors, and stock field naming. - Debugging Workflow: Step-by-step process from isolating a failing Playwright test to querying Firestore directly via REST, resetting stock, and comparing test assertions against backend handler code. - Use Case: A Playwright test asserting paymentStatus: 'authorized' fails after checkout. The Skill identifies the auto-capture behavior and directs you to assert 'captured' instead. ## Quick Start Ask the assistant to debug a failing Playwright E2E test by name, for example to investigate why the shipping-lifecycle suite fails on payment status assertions.

Frequently Asked Questions about e2e-debugging

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I debug a failing Playwright E2E test with Firebase Emulators?▼

First verify all emulators are running (Auth 9099, Firestore 8080, Functions 5001, Hosting 5005) and Stripe CLI is forwarding webhooks. Then isolate the test with npx playwright test -g "test name" --reporter=list and check the Functions emulator logs for Python tracebacks.

Why does Firestore reject SERVER_TIMESTAMP inside arrays?▼

Firestore sentinel values like SERVER_TIMESTAMP cannot be nested inside array elements or ArrayUnion calls. Use datetime.now(timezone.utc) instead for any timestamp stored within an array field.

Why does my test get paymentStatus captured instead of authorized?▼

The backend uses auto-capture mode, so funds are captured at checkout and the order never stays in authorized state. Update test assertions to expect paymentStatus: 'captured' in all auto-capture flows.

How do I query the Firestore emulator directly with REST?▼

Send requests to http://localhost:8080/v1/projects/orignagta/databases/(default)/documents. Use GET on a document path to read it, or POST to documents:runQuery with a structuredQuery body to filter collections by field values.

Why does a seller get 403 when marking an order as delivered?▼

The backend restricts DELIVERED transitions to admin-only, and order-level status changes are blocked for multi-seller orders. Use admin credentials for delivered assertions or call update_item_status for per-item transitions.

What are the limitations of this E2E debugging approach?▼

It targets a specific stack: Playwright with Chromium, Firebase Emulators, and Stripe CLI for the orignagta project. It does not cover production debugging, other browsers, or non-Firebase backends, and one known flaky test remains unresolved.