Skip to content

Commit 334161f

Browse files
authored
test(query-devtools/Explorer): add tests for 'Map' and iterable rendering branches (#10721)
1 parent 3ed5d63 commit 334161f

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

packages/query-devtools/src/__tests__/Explorer.test.tsx

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,44 @@ describe('Explorer', () => {
120120
expect(rendered.getByText('30')).toBeInTheDocument()
121121
})
122122
})
123+
124+
describe('Map and iterable values', () => {
125+
it('should preserve "Map" keys as labels when expanded', () => {
126+
const rendered = renderExplorer({
127+
label: 'm',
128+
value: new Map([
129+
['first', 1],
130+
['second', 2],
131+
]),
132+
})
133+
134+
fireEvent.click(rendered.getByRole('button', { expanded: false }))
135+
136+
expect(rendered.getByText('first:')).toBeInTheDocument()
137+
expect(rendered.getByText('second:')).toBeInTheDocument()
138+
})
139+
140+
it('should mark an iterable value with an "(Iterable)" prefix on the expander', () => {
141+
const rendered = renderExplorer({
142+
label: 's',
143+
value: new Set(['x', 'y']),
144+
})
145+
146+
expect(
147+
rendered.getByRole('button', { expanded: false }).textContent,
148+
).toContain('(Iterable)')
149+
})
150+
151+
it('should render iterable children under their numeric index when expanded', () => {
152+
const rendered = renderExplorer({
153+
label: 's',
154+
value: new Set(['x', 'y']),
155+
})
156+
157+
fireEvent.click(rendered.getByRole('button', { expanded: false }))
158+
159+
expect(rendered.getByText('0:')).toBeInTheDocument()
160+
expect(rendered.getByText('1:')).toBeInTheDocument()
161+
})
162+
})
123163
})

0 commit comments

Comments
 (0)