Files
community-rule/tests/unit/createFlowUploadConstants.test.ts
T

28 lines
991 B
TypeScript

import { describe, expect, it } from "vitest";
import {
extensionForMime,
isValidUploadFileId,
maxBytesForPurpose,
} from "../../lib/server/uploads/uploadConstants";
describe("createFlow upload constants", () => {
it("maxBytesForPurpose caps community smaller than custom attachment", () => {
expect(maxBytesForPurpose("communityAvatar")).toBe(5 * 1024 * 1024);
expect(maxBytesForPurpose("customMethodAttachment")).toBe(10 * 1024 * 1024);
});
it("extensionForMime maps common types", () => {
expect(extensionForMime("image/png")).toBe(".png");
expect(extensionForMime("image/jpeg")).toBe(".jpg");
expect(extensionForMime("application/pdf")).toBe(".pdf");
});
it("isValidUploadFileId rejects traversal and non-uuid", () => {
expect(isValidUploadFileId("../etc/passwd")).toBe(false);
expect(isValidUploadFileId("not-a-uuid")).toBe(false);
expect(
isValidUploadFileId("550e8400-e29b-41d4-a716-446655440000"),
).toBe(true);
});
});