import { describe, expect, it } from "vitest"; import { listSenderLabelCandidates, resolveSenderLabel } from "./sender-label.js"; describe("resolveSenderLabel", () => { it("prefers display + identifier when both are available", () => { expect( resolveSenderLabel({ name: " Alice ", e164: " +15551234567 ", }), ).toBe("Alice (+15551234567)"); }); it("falls back to identifier-only labels", () => { expect( resolveSenderLabel({ id: " user-123 ", }), ).toBe("user-123"); }); it("returns null when all values are empty", () => { expect( resolveSenderLabel({ name: " ", username: "", tag: " ", }), ).toBeNull(); }); }); describe("listSenderLabelCandidates", () => { it("returns unique normalized candidates plus resolved label", () => { expect( listSenderLabelCandidates({ name: "Alice", username: "alice", tag: "alice", e164: "+15551234567", id: "user-123", }), ).toEqual(["Alice", "alice", "+15551234567", "user-123", "Alice (+15551234567)"]); }); });