3c69f43864
- Pa11y: в конфиг добавлены три рекламных экрана — клиентский Яндекс, рекламный кошелёк и админский расход/маржа. - Чипы статусов «Черновик» и «На паузе» были на обычном grey — контраст 2.42:1 при норме WCAG 2.1 AA 4.5:1. Заменены на grey-darken-2, после чего оба клиентских рекламных экрана дают 0 ошибок. - CampaignLauncherTest коммитил кампании в статусе pending_moderation с сегментом и сотней телефонов и не откатывал их. При полном прогоне SyncCampaignAudienceJob перечисляет кампании всех тенантов через pgsql_supplier и подхватывал эти хвосты — SyncCampaignAudienceJobTest падал на «ни одного обращения к Яндексу». Добавлен DatabaseTransactions. Замер: раньше после прогона папки оставалось 2 живых кампании, теперь 0. Полный прогон: было 5 падений, стало 3 — оба рекламных ушли. - Находка про контраст палитры портала вынесена отдельным документом: зелёный 4.25 и жёлтый 2.25 на белом не проходят AA, но это брендбук и уже на бою — решение за владельцем. Реклама 156/156. Боевого не касается, в main не влито. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
289 lines
12 KiB
JSON
289 lines
12 KiB
JSON
{
|
|
"defaults": {
|
|
"standard": "WCAG2AA",
|
|
"timeout": 60000,
|
|
"wait": 2000,
|
|
"hideElements": ".js-skip-a11y, [data-a11y-skip], .dev-index-badge, .dev-index-num, .v-overlay-container, select[hidden], input[aria-controls^=\"menu-v-\"]",
|
|
"ignore": [
|
|
"warning",
|
|
"notice"
|
|
],
|
|
"chromeLaunchConfig": {
|
|
"args": [
|
|
"--no-sandbox",
|
|
"--disable-dev-shm-usage"
|
|
]
|
|
},
|
|
"viewport": {
|
|
"width": 1440,
|
|
"height": 900
|
|
}
|
|
},
|
|
"urls": [
|
|
{
|
|
"url": "http://localhost:8000/login",
|
|
"screenCapture": "./bin/a11y-screenshots/live-01-login.png"
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/register",
|
|
"screenCapture": "./bin/a11y-screenshots/live-02-register.png"
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/forgot",
|
|
"screenCapture": "./bin/a11y-screenshots/live-03-forgot.png"
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/2fa",
|
|
"screenCapture": "./bin/a11y-screenshots/live-04-twofactor.png"
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/recovery",
|
|
"screenCapture": "./bin/a11y-screenshots/live-05-recovery.png"
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/403",
|
|
"screenCapture": "./bin/a11y-screenshots/live-06-403.png"
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/500",
|
|
"screenCapture": "./bin/a11y-screenshots/live-07-500.png"
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/dashboard",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-08-dashboard.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/deals",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-09-deals.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/deals",
|
|
"wait for path to be /deals"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/kanban",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-10-kanban.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/kanban",
|
|
"wait for path to be /kanban"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/projects",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-11-projects.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/projects",
|
|
"wait for path to be /projects"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/billing",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-12-billing.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/billing",
|
|
"wait for path to be /billing"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/settings",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-13-settings.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/settings",
|
|
"wait for path to be /settings"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/reports",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-14-reports.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/reports",
|
|
"wait for path to be /reports"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/reminders",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-15-reminders.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/reminders",
|
|
"wait for path to be /reminders"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/advertising/yandex",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-22-advertising-yandex.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/advertising/yandex",
|
|
"wait for path to be /advertising/yandex"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/advertising/wallet",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-23-advertising-wallet.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/advertising/wallet",
|
|
"wait for path to be /advertising/wallet"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/admin/advertising",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-24-admin-advertising.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/admin/advertising",
|
|
"wait for path to be /admin/advertising"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/admin/tenants",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-16-admin-tenants.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/admin/tenants",
|
|
"wait for path to be /admin/tenants"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/admin/billing",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-17-admin-billing.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/admin/billing",
|
|
"wait for path to be /admin/billing"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/admin/incidents",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-18-admin-incidents.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/admin/incidents",
|
|
"wait for path to be /admin/incidents"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/admin/system",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-19-admin-system.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/admin/system",
|
|
"wait for path to be /admin/system"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/admin/pricing-tiers",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-20-admin-pricing-tiers.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/admin/pricing-tiers",
|
|
"wait for path to be /admin/pricing-tiers"
|
|
]
|
|
},
|
|
{
|
|
"url": "http://localhost:8000/admin/supplier-prices",
|
|
"screenCapture": "./bin/a11y-screenshots/live-auth-21-admin-supplier-prices.png",
|
|
"actions": [
|
|
"navigate to http://localhost:8000/login",
|
|
"wait for element input[autocomplete=\"email\"] to be visible",
|
|
"set field input[autocomplete=\"email\"] to admin@demo.local",
|
|
"set field input[autocomplete=\"current-password\"] to password",
|
|
"click element button[type=\"submit\"]",
|
|
"wait for path to be /dashboard",
|
|
"navigate to http://localhost:8000/admin/supplier-prices",
|
|
"wait for path to be /admin/supplier-prices"
|
|
]
|
|
}
|
|
]
|
|
}
|