it("deletes the selected channel block from openclaw.json", async () => {
select.mockResolvedValueOnce(channelChoice("telegram")).mockResolvedValueOnce(doneChoice);
const next = await removeChannelConfigWizard(
{
channels: {
telegram: { token: "secret" },
twitch: { token: "secret" },
},
} as never,
{} as never,
);
expect(confirm).toHaveBeenCalledWith(
expect.objectContaining({
message: "Delete Telegram configuration from ~/.openclaw/openclaw.json?",
}),
);
expect(next.channels).toEqual({ twitch: { token: "secret" } });
expect(note).toHaveBeenCalledWith( "Telegram removed from config.\nNote: credentials/sessions on disk are unchanged.", "Channel removed",
);
});
it("deletes a real channel block named done", async () => {
select.mockResolvedValueOnce(channelChoice("done")).mockResolvedValueOnce(doneChoice);
const next = await removeChannelConfigWizard(
{
channels: {
done: { token: "secret" },
telegram: { token: "secret" },
},
} as never,
{} as never,
);
expect(confirm).toHaveBeenCalledWith(
expect.objectContaining({
message: "Delete done configuration from ~/.openclaw/openclaw.json?",
}),
);
expect(next.channels).toEqual({ telegram: { token: "secret" } });
expect(note).toHaveBeenCalledWith( "done removed from config.\nNote: credentials/sessions on disk are unchanged.", "Channel removed",
);
});
it("preserves channel-wide defaults when deleting the last channel block", async () => {
select.mockResolvedValueOnce(channelChoice("telegram")).mockResolvedValueOnce(doneChoice);
it("uses a placeholder when an unknown channel key sanitizes to empty", async () => { const unsafeChannel = "\u001B[31m\u0007"; const next = await removeUnsafeChannelConfig(unsafeChannel);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.