import { describe, expect, it } from "vitest";
import { avatarUrl, bumpAvatar } from "#lib/avatar.ts";
describe("avatarUrl", () => {
it("points at the signing route with the requested size", () => {
expect(avatarUrl("did:plc:alice", 96)).toBe("/avatar/did%3Aplc%3Aalice?size=96");
});
it("carries the version of an avatar that was just changed", () => {
bumpAvatar("did:plc:bob", "3lk2");
expect(avatarUrl("did:plc:bob", 96)).toBe("/avatar/did%3Aplc%3Abob?size=96&v=3lk2");
expect(avatarUrl("did:plc:carol")).toBe("/avatar/did%3Aplc%3Acarol");
});
it("versions an avatar by the end of its cid", () => {
const cid = "bafkreigh2akiscaildc7gnvtklbsfhdgwz72eolmpckbqr5ej26byp3uli";
expect(avatarUrl("did:plc:dave", 96, undefined, cid)).toBe(
`/avatar/did%3Aplc%3Adave?size=96&v=${cid.slice(-12)}`
);
});
it("prefers the version of an avatar that was just changed over its cid", () => {
bumpAvatar("did:plc:erin", "3lk3");
expect(avatarUrl("did:plc:erin", 96, undefined, "bafkreiabcdefghijklmnop")).toBe(
"/avatar/did%3Aplc%3Aerin?size=96&v=3lk3"
);
});
});