UI workflow

Scenario

Checkout Flow

Search and filter products, build a cart that survives across pages, get through an intermittently-flaky payment step, and land on a real order confirmation with a fresh order id every time.

How this works

  • · Products come from a fixed in-memory catalog — nothing to seed, it's the same list every time.
  • · Adding to cart writes a cart array into an httpOnly session cookie, so it survives refreshes and new tabs in the same browser, but is invisible to anyone else.
  • · The payment step has a simulated ~900ms processor delay and declines about 30% of attempts on purpose — retrying until it succeeds is the actual skill being tested, not a guaranteed happy path.
  • · A successful order gets a freshly generated order id and clears the cart. The order itself isn't stored anywhere beyond that response, so it won't reappear after a cart reset.

What you'll practice

  • Filtering/searching a product list, then carrying a choice forward across pages
  • A cart that persists across full page navigations — real server-backed state, not a single-page app illusion
  • Waiting out an intermittently-failing async step (the payment call fails ~30% of the time) and retrying until it succeeds
  • A confirmation page whose order id is different every time — nothing to hardcode
  1. 1 Products
  2. 2 Cart
  3. 3 Checkout
  4. 4 Confirmation
Start the scenario