feat(admin): E2E content/system mock-сьюты, row testids, IFT smoke. Refs EventHub/EventHubFrontAdmin#33 #37 #38 #39

This commit is contained in:
2026-07-14 22:44:22 +03:00
parent a3468518b3
commit 836e4a7eea
23 changed files with 831 additions and 223 deletions
+12 -13
View File
@@ -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