diff --git a/src/tests/useQuery.test.js b/src/tests/useQuery.test.js index 4e69a41c4c..10bbfb5d0e 100644 --- a/src/tests/useQuery.test.js +++ b/src/tests/useQuery.test.js @@ -1,4 +1,10 @@ -import { cleanup, render, act, waitForElement } from '@testing-library/react' +import { + cleanup, + render, + act, + waitForElement, + fireEvent, +} from '@testing-library/react' import * as React from 'react' import { useQuery, queryCache, statusLoading, statusSuccess } from '../index' @@ -226,4 +232,39 @@ describe('useQuery', () => { expect(queryFn).toHaveBeenCalledTimes(2) }) + + it('should garbage collect queries without data immediately', async () => { + function Page() { + const [filter, setFilter] = React.useState('') + const { data } = useQuery( + ['todos', { filter }], + async (key, { filter } = {}) => { + await sleep(1000) + return `todo ${filter}` + } + ) + + return ( +