Spaces:
Paused
Paused
| import { describe, expect, it } from "vitest"; | |
| import { resolveChannelConfigWrites } from "./config-writes.js"; | |
| describe("resolveChannelConfigWrites", () => { | |
| it("defaults to allow when unset", () => { | |
| const cfg = {}; | |
| expect(resolveChannelConfigWrites({ cfg, channelId: "slack" })).toBe(true); | |
| }); | |
| it("blocks when channel config disables writes", () => { | |
| const cfg = { channels: { slack: { configWrites: false } } }; | |
| expect(resolveChannelConfigWrites({ cfg, channelId: "slack" })).toBe(false); | |
| }); | |
| it("account override wins over channel default", () => { | |
| const cfg = { | |
| channels: { | |
| slack: { | |
| configWrites: true, | |
| accounts: { | |
| work: { configWrites: false }, | |
| }, | |
| }, | |
| }, | |
| }; | |
| expect(resolveChannelConfigWrites({ cfg, channelId: "slack", accountId: "work" })).toBe(false); | |
| }); | |
| it("matches account ids case-insensitively", () => { | |
| const cfg = { | |
| channels: { | |
| slack: { | |
| configWrites: true, | |
| accounts: { | |
| Work: { configWrites: false }, | |
| }, | |
| }, | |
| }, | |
| }; | |
| expect(resolveChannelConfigWrites({ cfg, channelId: "slack", accountId: "work" })).toBe(false); | |
| }); | |
| }); | |