818 B
818 B
E2E testid contract (EventHubFrontAdmin)
Селекторы: data-testid + a11y (getByRole / getByLabel) где имя стабильно.
Naming
| Pattern | Example |
|---|---|
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 |
filter-{name} |
filter-users-search |
menu-user / lang-ru |
avatar dropdown |
Helper: src/lib/testid.ts.
Rules
- kebab-case; dynamic id = API entity id (or banned word)
- Prefer a11y for login fields
- Do not decorate decorative wrappers