From b460997cbf27aadaceeb1bbc497678b5c2013dfb Mon Sep 17 00:00:00 2001 From: Denozordec Date: Thu, 1 Oct 2026 14:56:21 +0700 Subject: [PATCH] =?UTF-8?q?fix(test):=20=D1=83=D0=BA=D0=B0=D0=B7=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=20=D1=85=D1=80=D0=B0=D0=BD=D0=B8=D0=BB=D0=B8=D1=89?= =?UTF-8?q?=D0=B5=20=D0=B2=20=D1=84=D0=B8=D0=BA=D1=81=D1=82=D1=83=D1=80?= =?UTF-8?q?=D0=B5=20=D1=80=D0=B5=D0=B7=D0=B5=D1=80=D0=B2=D0=BD=D1=8B=D1=85?= =?UTF-8?q?=20=D0=BA=D0=BE=D0=BF=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/ux-ui-progress.md | 8 +++++++- docs/ux-ui-stage-11a.md | 6 ++++++ tests/e2e/admin-tables.spec.ts | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/docs/ux-ui-progress.md b/docs/ux-ui-progress.md index baa2aa59..429fa145 100644 --- a/docs/ux-ui-progress.md +++ b/docs/ux-ui-progress.md @@ -36,12 +36,18 @@ +## Блок 11А.24.1 — актуальная E2E-фикстура резервных копий (2026-10-01) + +- Полный TypeScript после строгого BackupItem обнаружил старую admin-tables фикстуру без обязательного storage. Добавлено фактическое local; API-схема не ослаблена. +- Повторный полный TypeScript и 2 существующих E2E резервных копий (сортировка/подтверждение удаления, Filters) прошли. Production frontend/backend и API unit выполнены в 11А.24. +- Далее 11А.25: независимые каталоги, права и источник страницы. + ## Блок 11А.24 — локальная приёмка сертификатов и API резервных копий (2026-10-01) - Сертификаты приняты локально по 11А.14–11А.23: state/unknown/частичные сбои, URL, права, renew/ACME формы, checkpoint выпуска и runner, 48 main + 16 context E2E и ПК/390/320 снимки. После runner исправления backend профиль/10 fault unit/5 DTO unit, frontend API/poll/checkpoint и production сборки прошли. Реальный PostgreSQL, ACME, RouterOS, восстановление running после рестарта и распределённая блокировка остаются внешней приёмкой. PEM/private key import/export не реализованы; JSON metadata snapshot не обязателен для принятого объёма. - Backups API использует общие Zod-контракты: список без дублей, обязательное storage, корректные даты/размеры; job counters и результаты согласованы, terminal имеет время окончания, чужой ID не принимается. Partial done с failures остаётся частичным результатом. Удалён неиспользуемый createBackups, ожидавший синхронные created вместо фактического job ack. - Настройки и ответы restore/test/sync проверяются, запросы принимают AbortSignal и 30s срок. DELETE требует фактический HTTP 204, IDs кодируются. Некорректный запрос создания/расписания отклоняется до HTTP; известные false/0/empty не подменяются. -- 6 API fault unit, frontend TypeScript/профильный ESLint, backend и frontend production build прошли. Backups UI/операции ещё не приняты: Promise.all, отсутствие source/mode/RBAC guard, сброс черновика, повтор POST, интервал polling и ошибки событий требуют следующих блоков. Реальные PostgreSQL/RouterOS/S3 не проверялись. +- 6 API fault unit, профильный ESLint, backend и frontend production build прошли. Полный TypeScript обнаружил старую E2E-фикстуру без storage; исправление и повторная проверка в 11А.24.1. Backups UI/операции ещё не приняты: Promise.all, отсутствие source/mode/RBAC guard, сброс черновика, повтор POST, интервал polling и ошибки событий требуют следующих блоков. Реальные PostgreSQL/RouterOS/S3 не проверялись. - **Следующий блок 11А.25:** независимые подтверждённые каталоги backups/servers/schedule/storage, source guard и read/write права, initial/empty/stale/partial состояния. Далее формы настроек, создание/опрос, restore/delete/download и визуальная приёмка. ## Блок 11А.23 — достоверный результат backend issue runner (2026-10-01) diff --git a/docs/ux-ui-stage-11a.md b/docs/ux-ui-stage-11a.md index 1f2c922c..83f0973b 100644 --- a/docs/ux-ui-stage-11a.md +++ b/docs/ux-ui-stage-11a.md @@ -305,3 +305,9 @@ - Настройки и ответы restore/test/sync проверяются, запросы принимают AbortSignal и 30s срок. DELETE требует фактический HTTP 204, IDs кодируются. Некорректный запрос создания/расписания отклоняется до HTTP; известные false/0/empty не подменяются. - 6 API fault unit, frontend TypeScript/профильный ESLint, backend и frontend production build прошли. Backups UI/операции ещё не приняты: Promise.all, отсутствие source/mode/RBAC guard, сброс черновика, повтор POST, интервал polling и ошибки событий требуют следующих блоков. Реальные PostgreSQL/RouterOS/S3 не проверялись. - **Следующий блок 11А.25:** независимые подтверждённые каталоги backups/servers/schedule/storage, source guard и read/write права, initial/empty/stale/partial состояния. Далее формы настроек, создание/опрос, restore/delete/download и визуальная приёмка. + +## Блок 11А.24.1 — актуальная E2E-фикстура резервных копий (2026-10-01) + +- Полный TypeScript после строгого BackupItem обнаружил старую admin-tables фикстуру без обязательного storage. Добавлено фактическое local; API-схема не ослаблена. +- Повторный полный TypeScript и 2 существующих E2E резервных копий (сортировка/подтверждение удаления, Filters) прошли. Production frontend/backend и API unit выполнены в 11А.24. +- Далее 11А.25: независимые каталоги, права и источник страницы. diff --git a/tests/e2e/admin-tables.spec.ts b/tests/e2e/admin-tables.spec.ts index 869b82a6..d4b53415 100644 --- a/tests/e2e/admin-tables.spec.ts +++ b/tests/e2e/admin-tables.spec.ts @@ -15,7 +15,7 @@ const certificates = certificatesListResponseSchema.parse({ failures: [], certif daysLeft: 300 + i, keySize: 2048, usage: ["server"], trusted: true, status: "valid", })) }) const backups: BackupItem[] = ids.map(i => ({ id: String(i), serverId: 1, serverName: "Тестовый роутер", - filename: `backup-${i}.backup`, sizeBytes: i === 12 ? 1048576 : i * 1024, createdAt: "2026-09-14T00:00:00Z", kind: i > 6 ? "auto" : "manual" })) + filename: `backup-${i}.backup`, sizeBytes: i === 12 ? 1048576 : i * 1024, createdAt: "2026-09-14T00:00:00Z", kind: i > 6 ? "auto" : "manual", storage: "local" })) async function setup(page: Page, url: string) { await page.route("**/health", route => route.fulfill({ json: { ok: true } }))