feat: complete TASK-WP0-05 storage capacity

This commit is contained in:
suyx
2026-07-27 19:10:57 +08:00
parent b5a6c6629e
commit e12a83d6d3
12 changed files with 1294 additions and 3 deletions
+30
View File
@@ -0,0 +1,30 @@
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();
},
);
});