client/packages/cache/src/sync.test.tsx
2026-08-07 23:05:26 +02:00

19 lines
711 B
TypeScript

import { describe, expect, it } from "vitest";
import { removeMissingContactSnapshots } from "./sync";
describe("authoritative contact cache updates", () => {
it("removes missing users and keeps the latest authoritative set", () => {
const contacts = [{ UserId: 2 }, { UserId: 3 }, { UserId: 4 }];
expect(removeMissingContactSnapshots(contacts, [3, 99])).toEqual([
{ UserId: 2 },
{ UserId: 4 },
]);
});
it("does not let a delayed state notification recreate a removed contact", () => {
const contacts = [{ UserId: 2 }];
const afterMissing = removeMissingContactSnapshots(contacts, [2]);
expect(removeMissingContactSnapshots(afterMissing, [])).toEqual([]);
});
});