Skip to content

Commit 65e203a

Browse files
authored
Update data masking tests in React hooks to account for changes in render stream library (#12166)
1 parent 7bcde69 commit 65e203a

File tree

8 files changed

+141
-113
lines changed

8 files changed

+141
-113
lines changed

src/react/hooks/__tests__/useBackgroundQuery.test.tsx

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4219,7 +4219,8 @@ it("masks queries when dataMasking is `true`", async () => {
42194219
);
42204220
}
42214221

4222-
renderStream.render(<App />, {
4222+
using _disabledAct = disableActEnvironment();
4223+
await renderStream.render(<App />, {
42234224
wrapper: createClientWrapper(client),
42244225
});
42254226

@@ -4307,7 +4308,8 @@ it("does not mask query when dataMasking is `false`", async () => {
43074308
);
43084309
}
43094310

4310-
renderStream.render(<App />, { wrapper: createClientWrapper(client) });
4311+
using _disabledAct = disableActEnvironment();
4312+
await renderStream.render(<App />, { wrapper: createClientWrapper(client) });
43114313

43124314
// loading
43134315
await renderStream.takeRender();
@@ -4391,7 +4393,8 @@ it("does not mask query by default", async () => {
43914393
);
43924394
}
43934395

4394-
renderStream.render(<App />, { wrapper: createClientWrapper(client) });
4396+
using _disabledAct = disableActEnvironment();
4397+
await renderStream.render(<App />, { wrapper: createClientWrapper(client) });
43954398

43964399
// loading
43974400
await renderStream.takeRender();
@@ -4476,7 +4479,8 @@ it("masks queries updated by the cache", async () => {
44764479
);
44774480
}
44784481

4479-
renderStream.render(<App />, { wrapper: createClientWrapper(client) });
4482+
using _disabledAct = disableActEnvironment();
4483+
await renderStream.render(<App />, { wrapper: createClientWrapper(client) });
44804484

44814485
// loading
44824486
await renderStream.takeRender();
@@ -4592,7 +4596,8 @@ it("does not rerender when updating field in named fragment", async () => {
45924596
);
45934597
}
45944598

4595-
renderStream.render(<App />, {
4599+
using _disabledAct = disableActEnvironment();
4600+
await renderStream.render(<App />, {
45964601
wrapper: createClientWrapper(client),
45974602
});
45984603

@@ -4719,7 +4724,8 @@ it("masks result from cache when using with cache-first fetch policy", async ()
47194724
);
47204725
}
47214726

4722-
renderStream.render(<App />, { wrapper: createClientWrapper(client) });
4727+
using _disabledAct = disableActEnvironment();
4728+
await renderStream.render(<App />, { wrapper: createClientWrapper(client) });
47234729

47244730
const { snapshot } = await renderStream.takeRender();
47254731

@@ -4815,7 +4821,8 @@ it("masks cache and network result when using cache-and-network fetch policy", a
48154821
);
48164822
}
48174823

4818-
renderStream.render(<App />, { wrapper: createClientWrapper(client) });
4824+
using _disabledAct = disableActEnvironment();
4825+
await renderStream.render(<App />, { wrapper: createClientWrapper(client) });
48194826

48204827
{
48214828
const { snapshot } = await renderStream.takeRender();
@@ -4931,7 +4938,8 @@ it("masks partial cache data when returnPartialData is `true`", async () => {
49314938
);
49324939
}
49334940

4934-
renderStream.render(<App />, { wrapper: createClientWrapper(client) });
4941+
using _disabledAct = disableActEnvironment();
4942+
await renderStream.render(<App />, { wrapper: createClientWrapper(client) });
49354943

49364944
{
49374945
const { snapshot } = await renderStream.takeRender();
@@ -5031,7 +5039,8 @@ it("masks partial data returned from data on errors with errorPolicy `all`", asy
50315039
);
50325040
}
50335041

5034-
renderStream.render(<App />, { wrapper: createClientWrapper(client) });
5042+
using _disabledAct = disableActEnvironment();
5043+
await renderStream.render(<App />, { wrapper: createClientWrapper(client) });
50355044

50365045
// loading
50375046
await renderStream.takeRender();

src/react/hooks/__tests__/useFragment.test.tsx

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1625,7 +1625,8 @@ describe("useFragment", () => {
16251625

16261626
const client = new ApolloClient({ cache: new InMemoryCache() });
16271627

1628-
const { takeSnapshot } = renderHookToSnapshotStream(
1628+
using _disabledAct = disableActEnvironment();
1629+
const { takeSnapshot } = await renderHookToSnapshotStream(
16291630
() => useFragment({ fragment, from: { __typename: "User" } }),
16301631
{
16311632
wrapper: ({ children }) => (
@@ -1634,19 +1635,19 @@ describe("useFragment", () => {
16341635
}
16351636
);
16361637

1637-
expect(console.warn).toHaveBeenCalledTimes(1);
1638-
expect(console.warn).toHaveBeenCalledWith(
1639-
"Could not identify object passed to `from` for '%s' fragment, either because the object is non-normalized or the key fields are missing. If you are masking this object, please ensure the key fields are requested by the parent object.",
1640-
"UserFields"
1641-
);
1642-
16431638
{
16441639
const { data, complete } = await takeSnapshot();
16451640

16461641
expect(data).toEqual({});
16471642
// TODO: Update when https://github.com/apollographql/apollo-client/issues/12003 is fixed
16481643
expect(complete).toBe(true);
16491644
}
1645+
1646+
expect(console.warn).toHaveBeenCalledTimes(1);
1647+
expect(console.warn).toHaveBeenCalledWith(
1648+
"Could not identify object passed to `from` for '%s' fragment, either because the object is non-normalized or the key fields are missing. If you are masking this object, please ensure the key fields are requested by the parent object.",
1649+
"UserFields"
1650+
);
16501651
});
16511652

16521653
it("allows `null` as valid `from` value without warning", async () => {
@@ -1664,7 +1665,8 @@ describe("useFragment", () => {
16641665

16651666
const client = new ApolloClient({ cache: new InMemoryCache() });
16661667

1667-
const { takeSnapshot } = renderHookToSnapshotStream(
1668+
using _disabledAct = disableActEnvironment();
1669+
const { takeSnapshot } = await renderHookToSnapshotStream(
16681670
() => useFragment({ fragment, from: null }),
16691671
{
16701672
wrapper: ({ children }) => (
@@ -1711,7 +1713,8 @@ describe("useFragment", () => {
17111713
},
17121714
});
17131715

1714-
const { takeSnapshot, rerender } = renderHookToSnapshotStream(
1716+
using _disabledAct = disableActEnvironment();
1717+
const { takeSnapshot, rerender } = await renderHookToSnapshotStream(
17151718
({ from }) => useFragment({ fragment, from }),
17161719
{
17171720
initialProps: { from: null as UseFragmentOptions<any, never>["from"] },
@@ -1728,7 +1731,7 @@ describe("useFragment", () => {
17281731
expect(complete).toBe(false);
17291732
}
17301733

1731-
rerender({ from: { __typename: "User", id: "1" } });
1734+
await rerender({ from: { __typename: "User", id: "1" } });
17321735

17331736
{
17341737
const { data, complete } = await takeSnapshot();
@@ -1972,7 +1975,8 @@ describe("data masking", () => {
19721975
},
19731976
});
19741977

1975-
const { takeSnapshot } = renderHookToSnapshotStream(
1978+
using _disabledAct = disableActEnvironment();
1979+
const { takeSnapshot } = await renderHookToSnapshotStream(
19761980
() =>
19771981
useFragment({
19781982
fragment,
@@ -2089,7 +2093,8 @@ describe("data masking", () => {
20892093
return null;
20902094
}
20912095

2092-
renderStream.render(<Parent />, {
2096+
using _disabledAct = disableActEnvironment();
2097+
await renderStream.render(<Parent />, {
20932098
wrapper: ({ children }) => (
20942099
<ApolloProvider client={client}>{children}</ApolloProvider>
20952100
),

src/react/hooks/__tests__/useLazyQuery.test.tsx

Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2075,14 +2075,13 @@ describe("useLazyQuery Hook", () => {
20752075
link: new MockLink(mocks),
20762076
});
20772077

2078-
const { takeSnapshot, getCurrentSnapshot } = renderHookToSnapshotStream(
2079-
() => useLazyQuery(query),
2080-
{
2078+
using _disabledAct = disableActEnvironment();
2079+
const { takeSnapshot, getCurrentSnapshot } =
2080+
await renderHookToSnapshotStream(() => useLazyQuery(query), {
20812081
wrapper: ({ children }) => (
20822082
<ApolloProvider client={client}>{children}</ApolloProvider>
20832083
),
2084-
}
2085-
);
2084+
});
20862085

20872086
// initial render
20882087
await takeSnapshot();
@@ -2164,14 +2163,13 @@ describe("useLazyQuery Hook", () => {
21642163
link: new MockLink(mocks),
21652164
});
21662165

2167-
const { takeSnapshot, getCurrentSnapshot } = renderHookToSnapshotStream(
2168-
() => useLazyQuery(query),
2169-
{
2166+
using _disabledAct = disableActEnvironment();
2167+
const { takeSnapshot, getCurrentSnapshot } =
2168+
await renderHookToSnapshotStream(() => useLazyQuery(query), {
21702169
wrapper: ({ children }) => (
21712170
<ApolloProvider client={client}>{children}</ApolloProvider>
21722171
),
2173-
}
2174-
);
2172+
});
21752173

21762174
// initial render
21772175
await takeSnapshot();
@@ -2254,14 +2252,13 @@ describe("useLazyQuery Hook", () => {
22542252
link: new MockLink(mocks),
22552253
});
22562254

2257-
const { takeSnapshot, getCurrentSnapshot } = renderHookToSnapshotStream(
2258-
() => useLazyQuery(query),
2259-
{
2255+
using _disabledAct = disableActEnvironment();
2256+
const { takeSnapshot, getCurrentSnapshot } =
2257+
await renderHookToSnapshotStream(() => useLazyQuery(query), {
22602258
wrapper: ({ children }) => (
22612259
<ApolloProvider client={client}>{children}</ApolloProvider>
22622260
),
2263-
}
2264-
);
2261+
});
22652262

22662263
// initial render
22672264
await takeSnapshot();
@@ -2345,20 +2342,19 @@ describe("useLazyQuery Hook", () => {
23452342
link: new MockLink(mocks),
23462343
});
23472344

2348-
const { takeSnapshot, getCurrentSnapshot } = renderHookToSnapshotStream(
2349-
() => useLazyQuery(query),
2350-
{
2345+
using _disabledAct = disableActEnvironment();
2346+
const { takeSnapshot, getCurrentSnapshot } =
2347+
await renderHookToSnapshotStream(() => useLazyQuery(query), {
23512348
wrapper: ({ children }) => (
23522349
<ApolloProvider client={client}>{children}</ApolloProvider>
23532350
),
2354-
}
2355-
);
2351+
});
23562352

23572353
// initial render
23582354
await takeSnapshot();
23592355

23602356
const [execute] = getCurrentSnapshot();
2361-
execute();
2357+
await execute();
23622358

23632359
// Loading
23642360
await takeSnapshot();
@@ -2444,6 +2440,7 @@ describe("useLazyQuery Hook", () => {
24442440
},
24452441
},
24462442
},
2443+
delay: 20,
24472444
},
24482445
];
24492446

@@ -2453,20 +2450,19 @@ describe("useLazyQuery Hook", () => {
24532450
link: new MockLink(mocks),
24542451
});
24552452

2456-
const { takeSnapshot, getCurrentSnapshot } = renderHookToSnapshotStream(
2457-
() => useLazyQuery(query),
2458-
{
2453+
using _disabledAct = disableActEnvironment();
2454+
const { takeSnapshot, getCurrentSnapshot } =
2455+
await renderHookToSnapshotStream(() => useLazyQuery(query), {
24592456
wrapper: ({ children }) => (
24602457
<ApolloProvider client={client}>{children}</ApolloProvider>
24612458
),
2462-
}
2463-
);
2459+
});
24642460

24652461
// initial render
24662462
await takeSnapshot();
24672463

24682464
const [execute] = getCurrentSnapshot();
2469-
execute();
2465+
await execute();
24702466

24712467
// Loading
24722468
await takeSnapshot();

0 commit comments

Comments
 (0)