fix(scheduler): подтверждать ручные операции и учитывать частичные ошибки
This commit is contained in:
1 parent
cb377fb60c
commit
5df337f6d7
7 files changed
+117
-36
No files matched your search
@@ -131,3 +131,14 @@ test("Настройки: read-only claims отключают запись", asy
|
||||
await page.goto("/data-collection"); await expect(page.getByTestId("settings-traffic")).toContainText("настройки получены")
|
||||
await expect(page.getByRole("textbox", { name: "Интервал: Трафик", exact: true })).toBeDisabled(); await expect(page.getByRole("switch", { name: "Включить: Трафик", exact: true })).toBeDisabled()
|
||||
})
|
||||
|
||||
test("Настройки: смена режима прекращает оставшуюся часть batch", async ({ page }) => {
|
||||
await setup(page); let started = false, completed = false, uptimeWrites = 0, release!: () => void; const gate = new Promise<void>(resolve => release = resolve)
|
||||
await page.route("**/api/traffic/settings", async r => { if (r.request().method() !== "PUT") return r.fallback(); started = true; await gate; try { await r.fulfill({ json: { ok: true, settings: { ...values["/api/traffic/settings"], ...r.request().postDataJSON() } } }) } catch {} finally { completed = true } })
|
||||
await page.route("**/api/uptime/settings", r => { if (r.request().method() !== "PUT") return r.fallback(); uptimeWrites++; return r.fulfill({ json: {} }) })
|
||||
try {
|
||||
await page.goto("/data-collection"); const field = page.getByRole("textbox", { name: "Интервал: Трафик", exact: true }); await expect(field).toHaveValue("45"); await field.fill("99"); await page.getByRole("textbox", { name: "Хранение uptime", exact: true }).fill("21"); await page.getByRole("button", { name: "Сохранить настройки планировщика" }).click(); await expect.poll(() => started).toBe(true)
|
||||
await page.goto("/settings"); await page.getByRole("button", { name: "Моковые", exact: true }).click(); await page.goto("/data-collection"); release(); await expect.poll(() => completed).toBe(true)
|
||||
await expect(page.getByText("Нужен live-режим", { exact: true })).toBeVisible(); await expect(page.getByText("Сохранение подтверждено: Трафик", { exact: true })).toHaveCount(0); expect(uptimeWrites).toBe(0)
|
||||
} finally { release() }
|
||||
})
|
||||
Reference in new issue
Block a user