diff --git a/test/use-swr-suspense.test.tsx b/test/use-swr-suspense.test.tsx index c1a327100..321bb6a58 100644 --- a/test/use-swr-suspense.test.tsx +++ b/test/use-swr-suspense.test.tsx @@ -163,6 +163,31 @@ describe('useSWR - suspense', () => { await screen.findByText('hello, error') // get error with cache }) + it('should not fetch when cached data is present and `revalidateIfStale` is false', async () => { + const key = createKey() + mutate(key, 'cached') + + let fetchCount = 0 + + function Section() { + const { data } = useSWR(key, () => createResponse(++fetchCount), { + suspense: true, + revalidateIfStale: false + }) + return
{data}
+ } + + renderWithGlobalCache( + fallback}> +
+ + ) + + screen.getByText('cached') + await act(() => sleep(50)) // Wait to confirm fetch is not triggered + expect(fetchCount).toBe(0) + }) + it('should pause when key changes', async () => { const renderedResults = [] const initialKey = createKey()