feat(admin): E2E content/system mock-сьюты, row testids, IFT smoke. Refs EventHub/EventHubFrontAdmin#33 #37 #38 #39
This commit is contained in:
+12
-13
@@ -6,21 +6,20 @@
|
||||
|
||||
| Pattern | Example |
|
||||
|---------|---------|
|
||||
| `page-{name}` | `page-login`, `page-users` |
|
||||
| `nav-{slug}` | `nav-users` (slug = path without `/`) |
|
||||
| `{entity}-row-{id}` | `user-row-{uuid}` |
|
||||
| `{entity}-detail` | `user-detail` |
|
||||
| `{entity}-filter-{field}` | `event-filter-status` |
|
||||
| `btn-{action}` | `btn-login`, `btn-save`, `btn-delete-confirm` |
|
||||
| `page-{name}` | `page-login`, `page-users`, `page-inbox-reports` |
|
||||
| `nav-{slug}` | `nav-users` |
|
||||
| `row-{id}` | dense list / DataTable rows |
|
||||
| `row-activate-{id}` | dense list main click target |
|
||||
| `{entity}-row-{id}` | inbox-specific (`report-row-*`) |
|
||||
| `btn-{action}` | `btn-login`, `btn-save-profile` |
|
||||
| `dialog-{name}` | `dialog-edit-user` |
|
||||
| `menu-user` | avatar dropdown |
|
||||
| `palette-input` | command palette |
|
||||
| `filter-{name}` | `filter-users-search` |
|
||||
| `menu-user` / `lang-ru` | avatar dropdown |
|
||||
|
||||
Helper in app: `src/lib/testid.ts` → `testid(['user-row', id])`.
|
||||
Helper: `src/lib/testid.ts`.
|
||||
|
||||
## Rules
|
||||
|
||||
- kebab-case only
|
||||
- Dynamic id segment = real API entity id
|
||||
- Prefer roles/labels for login email/password and primary submit when i18n fixed to `ru` in mock suite
|
||||
- Do not decorate every layout div — only interaction anchors
|
||||
- kebab-case; dynamic id = API entity id (or banned word)
|
||||
- Prefer a11y for login fields
|
||||
- Do not decorate decorative wrappers
|
||||
|
||||
Reference in New Issue
Block a user