From e196f9fc352a42e8cd9efbd45b8a6f7c4414095c Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Wed, 20 May 2026 20:02:28 +0900 Subject: [PATCH 1/2] test(query-devtools/Explorer): add test for deleting fields via inline delete buttons (#10742) --- .../src/__tests__/Explorer.test.tsx | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/packages/query-devtools/src/__tests__/Explorer.test.tsx b/packages/query-devtools/src/__tests__/Explorer.test.tsx index accb25f436..eb4422d282 100644 --- a/packages/query-devtools/src/__tests__/Explorer.test.tsx +++ b/packages/query-devtools/src/__tests__/Explorer.test.tsx @@ -1,5 +1,5 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' -import { fireEvent, render } from '@solidjs/testing-library' +import { fireEvent, render, within } from '@solidjs/testing-library' import { QueryClient, onlineManager } from '@tanstack/query-core' import Explorer from '../Explorer' import { QueryDevtoolsContext, ThemeContext } from '../contexts' @@ -512,5 +512,30 @@ describe('Explorer', () => { expect(rendered.getByLabelText('Delete item')).toBeInTheDocument() }) + + it('should delete fields from the active query when their inline delete buttons are clicked', () => { + const value = { name: 'Anna', age: 30 } + queryClient.setQueryData(['data'], value) + + const rendered = renderExplorer({ + label: 'Data', + value, + defaultExpanded: ['Data'], + editable: true, + activeQuery: queryClient + .getQueryCache() + .find({ queryKey: ['data'] }) as Query, + }) + + const ageRow = rendered.getByText('age:').parentElement! + fireEvent.click(within(ageRow).getByLabelText('Delete item')) + + expect(queryClient.getQueryData(['data'])).toEqual({ name: 'Anna' }) + + const nameRow = rendered.getByText('name:').parentElement! + fireEvent.click(within(nameRow).getByLabelText('Delete item')) + + expect(queryClient.getQueryData(['data'])).toEqual({}) + }) }) }) From ec4a59a47325e59d7991d00e05498053c47598ae Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Wed, 20 May 2026 20:50:25 +0900 Subject: [PATCH 2/2] test(query-devtools/Explorer): add test for action buttons rendered inside a paginated page (#10743) * test(query-devtools/Explorer): add test for action buttons rendered inside a paginated page * ci: apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> --- .../src/__tests__/Explorer.test.tsx | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/packages/query-devtools/src/__tests__/Explorer.test.tsx b/packages/query-devtools/src/__tests__/Explorer.test.tsx index eb4422d282..fb329a98db 100644 --- a/packages/query-devtools/src/__tests__/Explorer.test.tsx +++ b/packages/query-devtools/src/__tests__/Explorer.test.tsx @@ -433,6 +433,30 @@ describe('Explorer', () => { expect(rendered.queryByText('"item-0"')).toBeNull() expect(rendered.getByText('"item-100"')).toBeInTheDocument() }) + + it('should render action buttons for items inside a paginated page', () => { + const value: Array> = Array.from( + { length: 200 }, + (_, i) => [i], + ) + queryClient.setQueryData(['data'], value) + + const rendered = renderExplorer({ + label: 'Data', + value, + defaultExpanded: ['Data'], + editable: true, + activeQuery: queryClient + .getQueryCache() + .find({ queryKey: ['data'] }) as Query, + }) + + fireEvent.click(rendered.getByText('[0...99]')) + + expect( + rendered.getAllByLabelText('Remove all items').length, + ).toBeGreaterThan(1) + }) }) describe('inline edit', () => {