import { describe, expect, it, vi } from "vitest"; import { updateGuildNickname } from "../src/index"; describe("Discord nickname updates", () => { it("updates a member in the configured guild using bot authentication", async () => { const request = vi.fn().mockResolvedValue(new Response(null, { status: 204 })); await updateGuildNickname( { guildId: "123456789012345678", discordUserId: "987654321098765432", nickname: "Sam (Notch)", botToken: "secret" }, request, ); expect(request).toHaveBeenCalledWith( "https://discord.com/api/v10/guilds/123456789012345678/members/987654321098765432", expect.objectContaining({ method: "PATCH", body: JSON.stringify({ nick: "Sam (Notch)" }) }), ); }); it("reports Discord permission failures without pretending the nickname changed", async () => { const request = vi.fn().mockResolvedValue(new Response("Missing Permissions", { status: 403 })); await expect( updateGuildNickname( { guildId: "123456789012345678", discordUserId: "987654321098765432", nickname: "Sam (Notch)", botToken: "secret" }, request, ), ).rejects.toThrow("Discord nickname update failed (403)"); }); });