test: dedupe twitch access control assertions

This commit is contained in:
Peter Steinberger
2026-03-13 21:53:45 +00:00
parent f2300f4522
commit 0530d1c530

View File

@@ -49,6 +49,21 @@ describe("checkTwitchAccessControl", () => {
return result;
}
function expectAllowedAccessCheck(params: {
account?: Partial<TwitchAccountConfig>;
message?: Partial<TwitchChatMessage>;
}) {
const result = runAccessCheck({
account: params.account,
message: {
message: "@testbot hello",
...params.message,
},
});
expect(result.allowed).toBe(true);
return result;
}
describe("when no restrictions are configured", () => {
it("allows messages that mention the bot (default requireMention)", () => {
const result = runAccessCheck({
@@ -109,21 +124,11 @@ describe("checkTwitchAccessControl", () => {
describe("allowFrom allowlist", () => {
it("allows users in the allowlist", () => {
const account: TwitchAccountConfig = {
...mockAccount,
allowFrom: ["123456", "789012"],
};
const message: TwitchChatMessage = {
...mockMessage,
message: "@testbot hello",
};
const result = checkTwitchAccessControl({
message,
account,
botUsername: "testbot",
const result = expectAllowedAccessCheck({
account: {
allowFrom: ["123456", "789012"],
},
});
expect(result.allowed).toBe(true);
expect(result.matchKey).toBe("123456");
expect(result.matchSource).toBe("allowlist");
});
@@ -283,21 +288,11 @@ describe("checkTwitchAccessControl", () => {
});
it("allows all users when role is 'all'", () => {
const account: TwitchAccountConfig = {
...mockAccount,
allowedRoles: ["all"],
};
const message: TwitchChatMessage = {
...mockMessage,
message: "@testbot hello",
};
const result = checkTwitchAccessControl({
message,
account,
botUsername: "testbot",
const result = expectAllowedAccessCheck({
account: {
allowedRoles: ["all"],
},
});
expect(result.allowed).toBe(true);
expect(result.matchKey).toBe("all");
});