| import { describe, expect, it } from "vitest"; |
| import { buildIrcNickServCommands } from "./client.js"; |
|
|
| describe("irc client nickserv", () => { |
| it("builds IDENTIFY command when password is set", () => { |
| expect( |
| buildIrcNickServCommands({ |
| password: "secret", |
| }), |
| ).toEqual(["PRIVMSG NickServ :IDENTIFY secret"]); |
| }); |
|
|
| it("builds REGISTER command when enabled with email", () => { |
| expect( |
| buildIrcNickServCommands({ |
| password: "secret", |
| register: true, |
| registerEmail: "bot@example.com", |
| }), |
| ).toEqual([ |
| "PRIVMSG NickServ :IDENTIFY secret", |
| "PRIVMSG NickServ :REGISTER secret bot@example.com", |
| ]); |
| }); |
|
|
| it("rejects register without registerEmail", () => { |
| expect(() => |
| buildIrcNickServCommands({ |
| password: "secret", |
| register: true, |
| }), |
| ).toThrow(/registerEmail/); |
| }); |
|
|
| it("sanitizes outbound NickServ payloads", () => { |
| expect( |
| buildIrcNickServCommands({ |
| service: "NickServ\n", |
| password: "secret\r\nJOIN #bad", |
| }), |
| ).toEqual(["PRIVMSG NickServ :IDENTIFY secret JOIN #bad"]); |
| }); |
| }); |
|
|