import { createUser, formWithFile, get, PNG, post, test } from "../helpers.ts"; import type { SelfUser } from "../../../shared/user.ts"; import { assertEquals, assertFalse } from "@std/assert"; test("avatars: upload, serve, and 404 when there is none", async () => { const user = await createUser(); assertEquals((await get(`/api/avatars/${user.id}`)).status, 404); assertEquals((await get(`/api/avatars/${crypto.randomUUID()}`)).status, 404); const res = await post("/api/avatars/me", { auth: user.auth, form: formWithFile(PNG), }); assertEquals(res.status, 200); assertEquals(res.data.avatarMime, "image/png"); assertFalse("passwordHash" in res.data); const served = await get(`/api/avatars/${user.id}`); assertEquals(served.status, 200); assertEquals(served.bytes, PNG); assertEquals( (await post("/api/avatars/me", { auth: user.auth, form: formWithFile(new Uint8Array([1, 2, 3])), })).status, 400, ); });