diff --git a/packages/query-devtools/src/__tests__/Devtools.test.tsx b/packages/query-devtools/src/__tests__/Devtools.test.tsx index 5ed22c7181..f73024502c 100644 --- a/packages/query-devtools/src/__tests__/Devtools.test.tsx +++ b/packages/query-devtools/src/__tests__/Devtools.test.tsx @@ -1,5 +1,11 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' -import { QueryClient, QueryObserver, onlineManager } from '@tanstack/query-core' +import { + QueryClient, + QueryObserver, + dehydrate, + hydrate, + onlineManager, +} from '@tanstack/query-core' import { fireEvent, render } from '@solidjs/testing-library' import { createLocalStorage } from '@solid-primitives/storage' import { Devtools } from '../Devtools' @@ -310,6 +316,25 @@ describe('Devtools', () => { window.removeEventListener('@tanstack/query-devtools-event', listener) } }) + + it('should render a query row when a hydrated query uses a custom hash function', async () => { + queryClient.fetchQuery({ + queryKey: ['posts'], + queryFn: () => [{ id: 1 }], + queryKeyHashFn: () => 'custom-posts-hash', + }) + await vi.advanceTimersByTimeAsync(0) + const dehydratedState = dehydrate(queryClient) + + queryClient = new QueryClient() + hydrate(queryClient, dehydratedState) + + const rendered = renderDevtools({ initialIsOpen: true }) + + expect( + rendered.getByLabelText(/Query key custom-posts-hash/), + ).toBeInTheDocument() + }) }) describe('view toggle', () => {