How pgtitov/qa-migration-sandbox works
QA-Migration-Sandbox is a Playwright page-object model for exercising DemoQA pages, not a standalone application. The principal workflow is a test consumer using the DemoQA façade and page objects to navigate or interact with a page, then check page-specific or control-level expectations. The models cover elements, forms, widgets, alerts/dialogs, interactions, and the bookstore. Configuration supplies page URLs; shared controls and step decorators provide internal layers. The README gives little product detail, so feature coverage follows the page-model tree and exports; some links are left unverified where only names or imports are known.
Main entry points: demoQA.ts DemoQA façade · decorators.ts Step reporting · practice-form-page.ts Practice form · controls UI controls
Components 18
Test entry
- Test consumer
- DemoQA façade
page-model/demoQA.ts
Shared model layers
- URL configuration
config.ts - Step reporting
utils/decorators.ts - UI controls
page-model/controls - Control checks
page-model/controls/common-control-verify.ts - Sidebar navigation
page-model/common/left-sidebar.ts
Element pages
- Element pages
page-model/elements - Element page checks
page-model/elements
Forms and widgets
- Practice form
page-model/forms/practice-form-page.ts - Form checks
page-model/forms/practice-form-page-verify.ts - Widget pages
page-model/widgets - Widget checks
page-model/widgets
Other page areas
- Alerts page
page-model/alerts/alerts-page.ts - Alert checks
page-model/alerts/alerts-page-verify.ts - Dialog page
page-model/dialogs/dialog-page.ts - Interaction pages
page-model/interactions - Bookstore pages
page-model/book-store
Connections 25
- Test consumer → DemoQA façade: uses
- DemoQA façade → Element pages: exposes
page-model/demoQA.ts - DemoQA façade → Sidebar navigation: exposes
page-model/demoQA.ts - DemoQA façade → Practice form: exposes
page-model/demoQA.ts - DemoQA façade → Widget pages: exposes
page-model/demoQA.ts - DemoQA façade → Alerts page: exposes
page-model/demoQA.ts - DemoQA façade → Dialog page: exposes
page-model/demoQA.ts - DemoQA façade → Interaction pages: exposes
page-model/demoQA.ts - DemoQA façade → Bookstore pages: exposes
page-model/demoQA.ts - Element pages → Element page checks: verifies with
- Element pages → UI controls: uses
page-model/elements/index.ts - Practice form → URL configuration: gets URL
page-model/forms/practice-form-page.ts - Practice form → UI controls: uses
page-model/forms/practice-form-page.ts - Practice form → Form checks: creates
page-model/forms/practice-form-page.ts - Practice form → Step reporting: annotates steps
page-model/forms/practice-form-page.ts - Widget pages → Widget checks: verifies with
- Alerts page → URL configuration: gets URL
page-model/alerts/alerts-page.ts - Alerts page → Alert checks: creates
page-model/alerts/alerts-page.ts - Sidebar navigation → UI controls: uses
page-model/common/left-sidebar.ts - UI controls → Control checks: creates checks
page-model/controls/button.ts - UI controls → Step reporting: annotates steps
page-model/controls/text-box.ts - Sidebar navigation → Step reporting: annotates steps
page-model/common/left-sidebar.ts - Dialog page → Step reporting: annotates steps
page-model/dialogs/dialog-page.ts - Interaction pages → Step reporting: annotates steps
page-model/interactions/droppable-page.ts - Bookstore pages → Step reporting: annotates steps
page-model/book-store/book-store-login-page.ts