-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Expand file tree
/
Copy pathgroups.test.ts
More file actions
35 lines (31 loc) · 1.07 KB
/
Copy pathgroups.test.ts
File metadata and controls
35 lines (31 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import { QueryClient } from "react-query";
import { describe, expect, it } from "vitest";
import {
getGroupMembersAISpendQueryKey,
invalidateGroupMembersAISpend,
} from "./groups";
describe("invalidateGroupMembersAISpend", () => {
it("invalidates only group member spend queries containing the user", async () => {
const queryClient = new QueryClient();
const userId = "user-1";
const spendWithUser = getGroupMembersAISpendQueryKey("group-1", [
"user-2",
userId,
]);
const spendWithoutUser = getGroupMembersAISpendQueryKey("group-2", [
"user-2",
]);
const otherGroupQuery = ["group", "group-1"];
queryClient.setQueryData(spendWithUser, {});
queryClient.setQueryData(spendWithoutUser, {});
queryClient.setQueryData(otherGroupQuery, {});
await invalidateGroupMembersAISpend(queryClient, userId);
expect(queryClient.getQueryState(spendWithUser)?.isInvalidated).toBe(true);
expect(queryClient.getQueryState(spendWithoutUser)?.isInvalidated).toBe(
false,
);
expect(queryClient.getQueryState(otherGroupQuery)?.isInvalidated).toBe(
false,
);
});
});