Files
tyx_AI_xhs/tests/api/wp0-05-storage-capacity.test.ts
T

31 lines
1.1 KiB
TypeScript

import { randomUUID } from "node:crypto";
import { describe, expect, it } from "vitest";
import { storageCapacityErrorDetails } from "../../apps/api/src/storage-policy.js";
import { createErrorEnvelope, isErrorEnvelope } from "../../packages/shared-contracts/src/index.js";
describe("TDD-WP0-STO-002-over-limit API envelope", () => {
it.each(["reference", "generated", "export", "sticker_original", "sticker_thumbnail"])(
"returns stable 507 details for %s",
(kind) => {
const envelope = createErrorEnvelope({
code: "STORAGE_CAPACITY_EXCEEDED",
correlationId: randomUUID(),
details: storageCapacityErrorDetails({
activeReservationBytes: 0,
managedContentBytes: 5_368_709_119,
projectedWriteBytes: 2,
}),
});
expect(isErrorEnvelope(envelope)).toBe(true);
expect(envelope.error).toMatchObject({
code: "STORAGE_CAPACITY_EXCEEDED",
details: { capacity_status: "critical", remaining_bytes: 1 },
message_key: "STORAGE_CAPACITY_EXCEEDED",
});
expect(kind).toBeTruthy();
},
);
});