How victorcur/reto-front works
This repository is a Playwright/Cucumber UI automation suite for Sauce Demo, not the store application itself. Its principal workflow covers login, adding and verifying products in the cart, completing checkout, and checking purchase confirmation; separate login scenarios cover invalid credentials and a locked user. Gherkin features describe scenarios, step definitions coordinate page objects, and a Cucumber world supplies the browser page. The README documents these capabilities; some page-object implementations and feature-to-step bindings were not sampled, so their internal wiring is shown only where supported.
Main entry points: checkout.steps.ts Checkout steps · BasePage.ts Base page · LoginPage.ts Login page · login.steps.ts Login steps
Components 19
Gherkin scenarios
- Login scenarios
features/login.feature - Product scenarios
features/products.feature - Checkout scenarios
features/checkout.feature - Purchase scenarios
features/purchase.feature
Step orchestration
- Login steps
src/steps/login.steps.ts - Product steps
src/steps/products.steps.ts - Checkout steps
src/steps/checkout.steps.ts
Page objects
- Base page
src/pages/BasePage.ts - Login page
src/pages/LoginPage.ts - Inventory page
src/pages/InventoryPage.ts - Cart page
src/pages/CartPage.ts - Checkout page
src/pages/CheckoutPage.ts - Checkout overview
src/pages/CheckoutOverviewPage.ts - Confirmation page
src/pages/ConfirmationPage.ts
Test runtime
- Test data
src/config/testData.ts - Browser world
src/support/world.ts - Scenario hooks
src/support/hooks.ts
Other components
- QA runner
- Sauce Demo
Connections 27
- QA runner → Login scenarios: starts scenarios
- QA runner → Product scenarios: starts scenarios
- QA runner → Checkout scenarios: starts scenarios
- QA runner → Purchase scenarios: starts scenarios
- Login scenarios → Login steps: binds steps
- Product scenarios → Product steps: binds steps
- Checkout scenarios → Checkout steps: binds steps
- Purchase scenarios → Checkout steps: binds steps
- Login steps → Login page: calls
- Login steps → Test data: reads credentials
- Product steps → Inventory page: calls
- Product steps → Cart page: checks cart
- Checkout steps → Cart page: starts checkout
- Checkout steps → Checkout page: fills details
- Checkout steps → Checkout overview: finishes purchase
- Checkout steps → Confirmation page: checks confirmation
- Login page → Base page: extends
- Inventory page → Base page: extends
- Cart page → Base page: extends
- Checkout page → Base page: extends
- Checkout overview → Base page: extends
- Confirmation page → Base page: extends
- Login page → Test data: reads base URL
- Scenario hooks → Browser world: initializes and closes
- Browser world → Sauce Demo: opens browser page
- Login page → Sauce Demo: navigates and interacts
- Inventory page → Sauce Demo: interacts