feat(settings): expose Real-Debrid multi-account controls

This commit is contained in:
Sucukdeluxe
2026-08-15 21:34:28 +02:00
parent 7e65195057
commit d720c5912e
15 changed files with 316 additions and 61 deletions
+33
View File
@@ -22,6 +22,39 @@ function megaTarget(identity: string): AccountEditTarget {
}
describe("renderer-safe account editing", () => {
it("targets one concrete Real-Debrid API account for replace and delete", () => {
const settings = defaultSettings();
settings.realDebridApiTokens = JSON.stringify({
version: 1,
accounts: [
{ id: "rda_first", token: "fixture-token-first" },
{ id: "rda_second", token: "fixture-token-second" }
]
});
const renderer = createRendererState(settings);
const target: AccountEditTarget = {
type: "single",
rowKey: "rd-rda_second",
kind: "realdebrid-api",
service: "realdebrid",
provider: "realdebrid",
accountId: "rda_second"
};
const edit = createAccountEditState(target, renderer.accounts);
expect(buildAccountReplaceCommand({ ...edit, token: "replacement-token" })).toEqual(expect.objectContaining({
action: "replace",
kind: "realdebrid-api",
accountId: "rda_second",
secret: "replacement-token"
}));
expect(buildAccountDeleteCommand(target)).toEqual({
action: "delete",
kind: "realdebrid-api",
accountId: "rda_second"
});
});
it("opens an existing account without reading its stored secret", () => {
const identity = "safe-edit@example.test";
const state = createRendererState({