Create product
POST /products, open the listing, then assert the new SKU and product name.
Believable workflow · Synthetic commerce only
Search a catalogue, choose variants, carry a guest cart into login, apply deterministic coupons, complete a fake checkout, and verify the resulting order through the same isolated Practice API.
API-backed home
Stable product IDs and JSON fields make every card suitable for UI and network assertions.
Loading featured products…
Complete app flow
API setup → UI action → API verification
POST /products, open the listing, then assert the new SKU and product name.
POST /auth/register, use the same synthetic credentials at checkout, then assert the profile.
DELETE /orders/{id}, refresh order history, then assert the row is absent.
Submit the UI checkout, capture its order ID, then GET /orders/{id}.
Network interception ready
Use page.route() to fulfil, modify or abort these same-origin requests, and inspect checkout payloads before continuing them.
| Method | Endpoint | Response |
|---|---|---|
| GET | /practice/api/v1/store/catalog | data[] + pagination meta |
| GET | /practice/api/v1/store/products/{id} | one enriched product |
| GET/POST | /practice/api/v1/store/cart | cart totals and items |
| PATCH/DELETE | /practice/api/v1/store/cart/items/{id} | updated cart |
| POST | /practice/api/v1/store/checkout | created order + fake payment metadata |
| GET | /practice/api/v1/store/orders | signed-in customer orders |
| POST | /practice/api/v1/store/scenario | one session-only next response |
Screenshot-ready state
?visual=stableStable mode fixes rendered dates, disables animation and carousel movement, and removes random presentation changes while preserving the same data contract.
Learning objective
Combine catalogue, cart, authentication, checkout, order, API, and network assertions in one resettable synthetic store workflow.
Continue learning