Spracherkennung für: .ts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
import { describe, expect, it, vi } from "vitest";
import { rejectPendingPairingRequest } from "./pairing-pending.js";
describe("rejectPendingPairingRequest", () => {
it("returns null and skips persistence when the request is missing", async () => {
const persistState = vi.fn();
await expect(
rejectPendingPairingRequest({
requestId: "missing",
idKey: "deviceId",
loadState: async () => ({ pendingById: {} }),
persistState,
getId: (pending: { id: string }) => pending.id,
}),
).resolves.toBeNull();
expect(persistState).not.toHaveBeenCalled();
});
it("removes the request, persists, and returns the dynamic id key", async () => {
const state: { pendingById: Record<string, { accountId: string }> } = {
pendingById: {
keep: { accountId: "keep-me" },
reject: { accountId: "acct-42" },
},
};
const persistState = vi.fn(async () => undefined);
await expect(
rejectPendingPairingRequest({
requestId: "reject",
idKey: "accountId",
loadState: async () => state,
persistState,
getId: (pending: { accountId: string }) => pending.accountId,
}),
).resolves.toEqual({
requestId: "reject",
accountId: "acct-42",
});
expect(state.pendingById).toEqual({
keep: { accountId: "keep-me" },
});
expect(persistState).toHaveBeenCalledWith(state);
});
});
¤ Dauer der Verarbeitung: 0.20 Sekunden
(vorverarbeitet am 2026-04-27)
¤
*© Formatika GbR, Deutschland