Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
1.4 kB · 48 lines
TypeScript
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849import { describe, expect, it } from "vitest";import { getDidFromAtUri, getGameCoverUrl } from "./game";
describe("getDidFromAtUri", () => { it("extracts the DID from an at:// URI", () => { expect(getDidFromAtUri("at://did:plc:abc/place.stream.video/3kbp")).toBe( "did:plc:abc", ); });
it("returns an empty string for a malformed URI", () => { expect(getDidFromAtUri("nope")).toBe(""); });});
describe("getGameCoverUrl", () => { const media = (mediaType: string, cid?: string) => ({ mediaType, blob: cid ? { ref: { toString: () => cid } } : undefined, }) as any;
it("prefers a cover over non-cover media", () => { const url = getGameCoverUrl( [media("screenshot", "cid-shot"), media("cover", "cid-cover")], "did:plc:abc", ); expect(url).toBe( "https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:abc/cid-cover@jpeg", ); });
it("falls back to the first media item", () => { const url = getGameCoverUrl( [media("screenshot", "cid-shot")], "did:plc:abc", ); expect(url).toContain("/cid-shot@jpeg"); });
it("returns undefined when media has no blob ref", () => { expect(getGameCoverUrl([media("cover")], "did:plc:abc")).toBeUndefined(); });
it("returns undefined for empty media", () => { expect(getGameCoverUrl(undefined, "did:plc:abc")).toBeUndefined(); });});