Files
cfw-autumn/shared/utils/leafOAuthScopes.test.ts
2026-06-08 15:15:18 +01:00

42 lines
1.1 KiB
TypeScript

import { describe, expect, test } from "bun:test";
import { LEAF_OAUTH_SCOPES } from "./leafOAuthScopes";
import { Scopes } from "./scopeDefinitions";
describe("LEAF_OAUTH_SCOPES", () => {
test("contains the exact Leaf Slack and MCP OAuth allowlist", () => {
expect(LEAF_OAUTH_SCOPES).toEqual([
Scopes.Organisation.Read,
Scopes.Customers.Read,
Scopes.Customers.Write,
Scopes.Features.Read,
Scopes.Features.Write,
Scopes.Plans.Read,
Scopes.Plans.Write,
Scopes.Balances.Read,
Scopes.Balances.Write,
Scopes.Billing.Read,
Scopes.Billing.Write,
Scopes.Analytics.Read,
]);
});
test("does not include elevated or unrelated product scopes", () => {
expect(LEAF_OAUTH_SCOPES).not.toEqual(
expect.arrayContaining([
Scopes.Organisation.Write,
Scopes.ApiKeys.Read,
Scopes.ApiKeys.Write,
Scopes.Migrations.Read,
Scopes.Migrations.Write,
Scopes.Platform.Read,
Scopes.Platform.Write,
Scopes.Rewards.Read,
Scopes.Rewards.Write,
Scopes.Admin,
Scopes.Owner,
Scopes.Superuser,
]),
);
});
});