Files
MikrotikManager/lib/speed-persistence-outcome.test.ts

20 lines
1.0 KiB
TypeScript

import assert from "node:assert/strict"
import { test } from "node:test"
import { ApiClientError } from "../shared/api/http-client"
import { isSpeedPersistenceUnknown } from "./speed-persistence-outcome"
test("matching unknown persistence receipt preserves the confirmed snapshot", () => {
assert.equal(isSpeedPersistenceUnknown(new ApiClientError("unknown", 502, { outcome: "unknown", runId: "current" }), "current"), true)
})
test("other operations, malformed responses and ordinary failures cannot masquerade as unknown persistence", () => {
for (const error of [
Error("unknown"),
new ApiClientError("unknown", 502, { outcome: "unknown", runId: "other" }),
new ApiClientError("unknown", 502, { outcome: "unknown" }),
new ApiClientError("unknown", 502, { outcome: "failed", runId: "current" }),
new ApiClientError("forbidden", 403, { outcome: "unknown", runId: "current" }),
new ApiClientError("bad body", 502, null),
]) assert.equal(isSpeedPersistenceUnknown(error, "current"), false)
})