fix(ospf): подтвердить права и результат оптимизации на RouterOS
This commit is contained in:
1 parent
3bfd4ae6cf
commit
36c6a21ca5
19 files changed
+1069
-15
No files matched your search
@@ -69,3 +69,30 @@ test("OSPF: read-права не разрешают оптимизацию ус
|
||||
await expect(page.getByRole("button", { name: "Оптимизировать OSPF", exact: true })).toBeDisabled()
|
||||
expect(writes).toBe(0)
|
||||
})
|
||||
|
||||
for (const permission of ["mm:network:write", "mm:servers:write"]) {
|
||||
test("OSPF: право оптимизации совпадает с backend — " + permission, async ({ page }) => {
|
||||
await page.setViewportSize({ width: 320, height: 1000 })
|
||||
const payload = { sub: "test", apps: ["mm"], permissions: ["mm:network:read", "mm:servers:read", permission], exp: 4102444800 }
|
||||
await page.addInitScript(value => localStorage.setItem("mmapp_token", "test." + btoa(JSON.stringify(value)) + ".test"), payload)
|
||||
let writes = 0
|
||||
await page.route("**/health", r => r.fulfill({ json: { ok: true } }))
|
||||
await page.route("**/api/**", r => {
|
||||
const path = new URL(r.request().url()).pathname
|
||||
if (path === "/api/servers/1/ospf/optimize") { writes++; return r.fulfill({ json: result }) }
|
||||
return r.fulfill({ json: path === "/api/auth/config" ? { required: true } : path === "/api/servers" ? [device] : path === "/api/ospf/catalog" ? catalog : {} })
|
||||
})
|
||||
await page.goto("/ospf?server=1&tab=interfaces")
|
||||
const button = page.getByRole("button", { name: "Оптимизировать OSPF", exact: true })
|
||||
if (permission === "mm:network:write") {
|
||||
await expect(button).toBeEnabled(); await button.click()
|
||||
await expect.poll(() => writes).toBe(1)
|
||||
await expect(page.getByText("API подтвердил оптимизацию OSPF: 1 интерфейсов", { exact: true })).toBeVisible()
|
||||
} else {
|
||||
await expect(button).toBeDisabled()
|
||||
await button.evaluate(el => (el as HTMLButtonElement).click())
|
||||
expect(writes).toBe(0)
|
||||
}
|
||||
expect(await page.evaluate(() => document.documentElement.scrollWidth <= innerWidth)).toBe(true)
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user