@tanstack/solid-query 5.14.7 → 5.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@ import {
5
5
  createRenderEffect,
6
6
  createSignal,
7
7
  } from 'solid-js'
8
- import { fireEvent, render, screen, waitFor } from '@solidjs/testing-library'
8
+ import { fireEvent, render, waitFor } from '@solidjs/testing-library'
9
9
  import {
10
10
  MutationCache,
11
11
  QueryCache,
@@ -41,24 +41,24 @@ describe('createMutation', () => {
41
41
  )
42
42
  }
43
43
 
44
- render(() => (
44
+ const rendered = render(() => (
45
45
  <QueryClientProvider client={queryClient}>
46
46
  <Page />
47
47
  </QueryClientProvider>
48
48
  ))
49
49
 
50
- expect(screen.getByRole('heading').textContent).toBe('empty')
50
+ expect(rendered.getByRole('heading').textContent).toBe('empty')
51
51
 
52
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
52
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
53
53
 
54
54
  await waitFor(() => {
55
- expect(screen.getByRole('heading').textContent).toBe('mutation')
55
+ expect(rendered.getByRole('heading').textContent).toBe('mutation')
56
56
  })
57
57
 
58
- fireEvent.click(screen.getByRole('button', { name: /reset/i }))
58
+ fireEvent.click(rendered.getByRole('button', { name: /reset/i }))
59
59
 
60
60
  await waitFor(() => {
61
- expect(screen.getByRole('heading').textContent).toBe('empty')
61
+ expect(rendered.getByRole('heading').textContent).toBe('empty')
62
62
  })
63
63
  })
64
64
 
@@ -85,28 +85,28 @@ describe('createMutation', () => {
85
85
  )
86
86
  }
87
87
 
88
- render(() => (
88
+ const rendered = render(() => (
89
89
  <QueryClientProvider client={queryClient}>
90
90
  <Page />
91
91
  </QueryClientProvider>
92
92
  ))
93
93
 
94
94
  await waitFor(() => {
95
- expect(screen.queryByRole('heading')).toBeNull()
95
+ expect(rendered.queryByRole('heading')).toBeNull()
96
96
  })
97
97
 
98
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
98
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
99
99
 
100
100
  await waitFor(() => {
101
- expect(screen.getByRole('heading').textContent).toBe(
101
+ expect(rendered.getByRole('heading').textContent).toBe(
102
102
  'Expected mock error. All is well!',
103
103
  )
104
104
  })
105
105
 
106
- fireEvent.click(screen.getByRole('button', { name: /reset/i }))
106
+ fireEvent.click(rendered.getByRole('button', { name: /reset/i }))
107
107
 
108
108
  await waitFor(() => {
109
- expect(screen.queryByRole('heading')).toBeNull()
109
+ expect(rendered.queryByRole('heading')).toBeNull()
110
110
  })
111
111
 
112
112
  consoleMock.mockRestore()
@@ -143,20 +143,20 @@ describe('createMutation', () => {
143
143
  )
144
144
  }
145
145
 
146
- render(() => (
146
+ const rendered = render(() => (
147
147
  <QueryClientProvider client={queryClient}>
148
148
  <Page />
149
149
  </QueryClientProvider>
150
150
  ))
151
151
 
152
- expect(screen.getByRole('heading').textContent).toBe('0')
152
+ expect(rendered.getByRole('heading').textContent).toBe('0')
153
153
 
154
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
155
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
156
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
154
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
155
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
156
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
157
157
 
158
158
  await waitFor(() => {
159
- expect(screen.getByRole('heading').textContent).toBe('3')
159
+ expect(rendered.getByRole('heading').textContent).toBe('3')
160
160
  })
161
161
 
162
162
  await waitFor(() => {
@@ -214,26 +214,26 @@ describe('createMutation', () => {
214
214
  )
215
215
  }
216
216
 
217
- render(() => (
217
+ const rendered = render(() => (
218
218
  <QueryClientProvider client={queryClient}>
219
219
  <Page />
220
220
  </QueryClientProvider>
221
221
  ))
222
222
 
223
- await waitFor(() => screen.getByText('Data'))
223
+ await waitFor(() => rendered.getByText('Data'))
224
224
 
225
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
226
- await waitFor(() => screen.getByText('Data'))
227
- await waitFor(() => screen.getByText('Status error'))
228
- await waitFor(() => screen.getByText('Failed 1 times'))
229
- await waitFor(() => screen.getByText('Failed because Error test Jonas'))
225
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
226
+ await waitFor(() => rendered.getByText('Data'))
227
+ await waitFor(() => rendered.getByText('Status error'))
228
+ await waitFor(() => rendered.getByText('Failed 1 times'))
229
+ await waitFor(() => rendered.getByText('Failed because Error test Jonas'))
230
230
 
231
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
232
- await waitFor(() => screen.getByText('Status pending'))
233
- await waitFor(() => screen.getByText('Status success'))
234
- await waitFor(() => screen.getByText('Data 2'))
235
- await waitFor(() => screen.getByText('Failed 0 times'))
236
- await waitFor(() => screen.getByText('Failed because null'))
231
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
232
+ await waitFor(() => rendered.getByText('Status pending'))
233
+ await waitFor(() => rendered.getByText('Status success'))
234
+ await waitFor(() => rendered.getByText('Data 2'))
235
+ await waitFor(() => rendered.getByText('Failed 0 times'))
236
+ await waitFor(() => rendered.getByText('Failed because null'))
237
237
  })
238
238
 
239
239
  it('should be able to call `onError` and `onSettled` after each failed mutate', async () => {
@@ -273,20 +273,20 @@ describe('createMutation', () => {
273
273
  )
274
274
  }
275
275
 
276
- render(() => (
276
+ const rendered = render(() => (
277
277
  <QueryClientProvider client={queryClient}>
278
278
  <Page />
279
279
  </QueryClientProvider>
280
280
  ))
281
281
 
282
- expect(screen.getByRole('heading').textContent).toBe('0')
282
+ expect(rendered.getByRole('heading').textContent).toBe('0')
283
283
 
284
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
285
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
286
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
284
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
285
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
286
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
287
287
 
288
288
  await waitFor(() => {
289
- expect(screen.getByRole('heading').textContent).toBe('3')
289
+ expect(rendered.getByRole('heading').textContent).toBe('3')
290
290
  })
291
291
 
292
292
  await waitFor(() => {
@@ -528,7 +528,7 @@ describe('createMutation', () => {
528
528
  )
529
529
  }
530
530
 
531
- render(() => (
531
+ const rendered = render(() => (
532
532
  <QueryClientProvider client={queryClient}>
533
533
  <Page />
534
534
  </QueryClientProvider>
@@ -536,17 +536,17 @@ describe('createMutation', () => {
536
536
 
537
537
  await waitFor(() => {
538
538
  expect(
539
- screen.getByText('error: null, status: idle, isPaused: false'),
539
+ rendered.getByText('error: null, status: idle, isPaused: false'),
540
540
  ).toBeInTheDocument()
541
541
  })
542
542
 
543
543
  window.dispatchEvent(new Event('offline'))
544
544
 
545
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
545
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
546
546
 
547
547
  await waitFor(() => {
548
548
  expect(
549
- screen.getByText('error: null, status: pending, isPaused: true'),
549
+ rendered.getByText('error: null, status: pending, isPaused: true'),
550
550
  ).toBeInTheDocument()
551
551
  })
552
552
 
@@ -559,7 +559,7 @@ describe('createMutation', () => {
559
559
 
560
560
  await waitFor(() => {
561
561
  expect(
562
- screen.getByText('error: oops, status: error, isPaused: false'),
562
+ rendered.getByText('error: oops, status: error, isPaused: false'),
563
563
  ).toBeInTheDocument()
564
564
  })
565
565
 
@@ -592,19 +592,19 @@ describe('createMutation', () => {
592
592
  )
593
593
  }
594
594
 
595
- render(() => (
595
+ const rendered = render(() => (
596
596
  <QueryClientProvider client={queryClient}>
597
597
  <Page />
598
598
  </QueryClientProvider>
599
599
  ))
600
600
 
601
- await screen.findByText('data: null, status: idle, isPaused: false')
601
+ await rendered.findByText('data: null, status: idle, isPaused: false')
602
602
 
603
603
  window.dispatchEvent(new Event('offline'))
604
604
 
605
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
605
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
606
606
 
607
- await screen.findByText('data: null, status: pending, isPaused: true')
607
+ await rendered.findByText('data: null, status: pending, isPaused: true')
608
608
 
609
609
  expect(onMutate).toHaveBeenCalledTimes(1)
610
610
  expect(onMutate).toHaveBeenCalledWith('todo')
@@ -612,7 +612,7 @@ describe('createMutation', () => {
612
612
  onlineMock.mockRestore()
613
613
  window.dispatchEvent(new Event('online'))
614
614
 
615
- await screen.findByText('data: 1, status: success, isPaused: false')
615
+ await rendered.findByText('data: 1, status: success, isPaused: false')
616
616
 
617
617
  expect(onMutate).toHaveBeenCalledTimes(1)
618
618
  expect(count).toBe(1)
@@ -647,17 +647,17 @@ describe('createMutation', () => {
647
647
  )
648
648
  }
649
649
 
650
- render(() => (
650
+ const rendered = render(() => (
651
651
  <QueryClientProvider client={queryClient}>
652
652
  <Page />
653
653
  </QueryClientProvider>
654
654
  ))
655
655
 
656
- await screen.findByText('data: null, status: idle, isPaused: false')
656
+ await rendered.findByText('data: null, status: idle, isPaused: false')
657
657
 
658
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
658
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
659
659
 
660
- await screen.findByText('data: null, status: pending, isPaused: true')
660
+ await rendered.findByText('data: null, status: pending, isPaused: true')
661
661
 
662
662
  // no intermediate 'pending, false' state is expected because we don't start mutating!
663
663
  expect(states[0]).toBe('idle, false')
@@ -666,7 +666,7 @@ describe('createMutation', () => {
666
666
  onlineMock.mockReturnValue(true)
667
667
  window.dispatchEvent(new Event('online'))
668
668
 
669
- await screen.findByText('data: 1, status: success, isPaused: false')
669
+ await rendered.findByText('data: 1, status: success, isPaused: false')
670
670
 
671
671
  onlineMock.mockRestore()
672
672
  })
@@ -776,13 +776,13 @@ describe('createMutation', () => {
776
776
  )
777
777
  }
778
778
 
779
- render(() => (
779
+ const rendered = render(() => (
780
780
  <QueryClientProvider client={queryClient}>
781
781
  <Page />
782
782
  </QueryClientProvider>
783
783
  ))
784
- fireEvent.click(screen.getByText('mutate'))
785
- fireEvent.click(screen.getByText('unmount'))
784
+ fireEvent.click(rendered.getByText('mutate'))
785
+ fireEvent.click(rendered.getByText('unmount'))
786
786
  })
787
787
 
788
788
  it('should be able to throw an error when throwOnError is set to true', async () => {
@@ -807,7 +807,7 @@ describe('createMutation', () => {
807
807
  )
808
808
  }
809
809
 
810
- render(() => (
810
+ const rendered = render(() => (
811
811
  <QueryClientProvider client={queryClient}>
812
812
  <ErrorBoundary
813
813
  fallback={() => (
@@ -821,10 +821,10 @@ describe('createMutation', () => {
821
821
  </QueryClientProvider>
822
822
  ))
823
823
 
824
- fireEvent.click(screen.getByText('mutate'))
824
+ fireEvent.click(rendered.getByText('mutate'))
825
825
 
826
826
  await waitFor(() => {
827
- expect(screen.queryByText('error')).not.toBeNull()
827
+ expect(rendered.queryByText('error')).not.toBeNull()
828
828
  })
829
829
 
830
830
  consoleMock.mockRestore()
@@ -857,7 +857,7 @@ describe('createMutation', () => {
857
857
  )
858
858
  }
859
859
 
860
- render(() => (
860
+ const rendered = render(() => (
861
861
  <QueryClientProvider client={queryClient}>
862
862
  <ErrorBoundary
863
863
  fallback={() => (
@@ -872,15 +872,15 @@ describe('createMutation', () => {
872
872
  ))
873
873
 
874
874
  // first error goes to component
875
- fireEvent.click(screen.getByText('mutate'))
875
+ fireEvent.click(rendered.getByText('mutate'))
876
876
  await waitFor(() => {
877
- expect(screen.queryByText('mock error')).not.toBeNull()
877
+ expect(rendered.queryByText('mock error')).not.toBeNull()
878
878
  })
879
879
 
880
880
  // second error goes to boundary
881
- fireEvent.click(screen.getByText('mutate'))
881
+ fireEvent.click(rendered.getByText('mutate'))
882
882
  await waitFor(() => {
883
- expect(screen.queryByText('error boundary')).not.toBeNull()
883
+ expect(rendered.queryByText('error boundary')).not.toBeNull()
884
884
  })
885
885
 
886
886
  consoleMock.mockRestore()
@@ -926,18 +926,18 @@ describe('createMutation', () => {
926
926
  )
927
927
  }
928
928
 
929
- render(() => (
929
+ const rendered = render(() => (
930
930
  <QueryClientProvider client={queryClientMutationMeta}>
931
931
  <Page />
932
932
  </QueryClientProvider>
933
933
  ))
934
934
 
935
- fireEvent.click(screen.getByText('succeed'))
936
- fireEvent.click(screen.getByText('error'))
935
+ fireEvent.click(rendered.getByText('succeed'))
936
+ fireEvent.click(rendered.getByText('error'))
937
937
 
938
938
  await waitFor(() => {
939
- expect(screen.queryByText('successTest')).not.toBeNull()
940
- expect(screen.queryByText('errorTest')).not.toBeNull()
939
+ expect(rendered.queryByText('successTest')).not.toBeNull()
940
+ expect(rendered.queryByText('errorTest')).not.toBeNull()
941
941
  })
942
942
 
943
943
  expect(successMock).toHaveBeenCalledTimes(1)
@@ -997,16 +997,16 @@ describe('createMutation', () => {
997
997
  )
998
998
  }
999
999
 
1000
- render(() => (
1000
+ const rendered = render(() => (
1001
1001
  <QueryClientProvider client={queryClient}>
1002
1002
  <Page />
1003
1003
  </QueryClientProvider>
1004
1004
  ))
1005
1005
 
1006
- await screen.findByText('data: null, status: idle, isPaused: false')
1006
+ await rendered.findByText('data: null, status: idle, isPaused: false')
1007
1007
 
1008
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
1009
- fireEvent.click(screen.getByRole('button', { name: /hide/i }))
1008
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
1009
+ fireEvent.click(rendered.getByRole('button', { name: /hide/i }))
1010
1010
 
1011
1011
  await waitFor(() => {
1012
1012
  expect(
@@ -1059,18 +1059,18 @@ describe('createMutation', () => {
1059
1059
  )
1060
1060
  }
1061
1061
 
1062
- render(() => (
1062
+ const rendered = render(() => (
1063
1063
  <QueryClientProvider client={queryClient}>
1064
1064
  <Page />
1065
1065
  </QueryClientProvider>
1066
1066
  ))
1067
1067
 
1068
- await screen.findByText('data: null, status: idle')
1068
+ await rendered.findByText('data: null, status: idle')
1069
1069
 
1070
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
1071
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
1070
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
1071
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
1072
1072
 
1073
- await screen.findByText('data: result2, status: success')
1073
+ await rendered.findByText('data: result2, status: success')
1074
1074
 
1075
1075
  expect(count).toBe(2)
1076
1076
 
@@ -1109,17 +1109,17 @@ describe('createMutation', () => {
1109
1109
  )
1110
1110
  }
1111
1111
 
1112
- render(() => (
1112
+ const rendered = render(() => (
1113
1113
  <QueryClientProvider client={queryClient}>
1114
1114
  <Page />
1115
1115
  </QueryClientProvider>
1116
1116
  ))
1117
1117
 
1118
- await screen.findByText('status: idle')
1118
+ await rendered.findByText('status: idle')
1119
1119
 
1120
- screen.getByRole('button', { name: /mutate/i }).click()
1120
+ rendered.getByRole('button', { name: /mutate/i }).click()
1121
1121
 
1122
- await screen.findByText('status: error')
1122
+ await rendered.findByText('status: error')
1123
1123
 
1124
1124
  expect(onError).toHaveBeenCalledWith(error, 'todo', undefined)
1125
1125
  })
@@ -1149,17 +1149,17 @@ describe('createMutation', () => {
1149
1149
  )
1150
1150
  }
1151
1151
 
1152
- render(() => (
1152
+ const rendered = render(() => (
1153
1153
  <QueryClientProvider client={queryClient}>
1154
1154
  <Page />
1155
1155
  </QueryClientProvider>
1156
1156
  ))
1157
1157
 
1158
- await screen.findByText('error: null, status: idle')
1158
+ await rendered.findByText('error: null, status: idle')
1159
1159
 
1160
- screen.getByRole('button', { name: /mutate/i }).click()
1160
+ rendered.getByRole('button', { name: /mutate/i }).click()
1161
1161
 
1162
- await screen.findByText('error: mutateFnError, status: error')
1162
+ await rendered.findByText('error: mutateFnError, status: error')
1163
1163
  })
1164
1164
 
1165
1165
  it('should go to error state if onSettled callback errors', async () => {
@@ -1189,17 +1189,17 @@ describe('createMutation', () => {
1189
1189
  )
1190
1190
  }
1191
1191
 
1192
- render(() => (
1192
+ const rendered = render(() => (
1193
1193
  <QueryClientProvider client={queryClient}>
1194
1194
  <Page />
1195
1195
  </QueryClientProvider>
1196
1196
  ))
1197
1197
 
1198
- await screen.findByText('error: null, status: idle')
1198
+ await rendered.findByText('error: null, status: idle')
1199
1199
 
1200
- screen.getByRole('button', { name: /mutate/i }).click()
1200
+ rendered.getByRole('button', { name: /mutate/i }).click()
1201
1201
 
1202
- await screen.findByText('error: mutateFnError, status: error')
1202
+ await rendered.findByText('error: mutateFnError, status: error')
1203
1203
 
1204
1204
  expect(onError).toHaveBeenCalledWith(mutateFnError, 'todo', undefined)
1205
1205
  })
@@ -1227,12 +1227,12 @@ describe('createMutation', () => {
1227
1227
  )
1228
1228
  }
1229
1229
 
1230
- render(() => <Page></Page>)
1230
+ const rendered = render(() => <Page></Page>)
1231
1231
 
1232
- await screen.findByText('data: null, status: idle')
1232
+ await rendered.findByText('data: null, status: idle')
1233
1233
 
1234
- fireEvent.click(screen.getByRole('button', { name: /mutate/i }))
1234
+ fireEvent.click(rendered.getByRole('button', { name: /mutate/i }))
1235
1235
 
1236
- await screen.findByText('data: custom client, status: success')
1236
+ await rendered.findByText('data: custom client, status: success')
1237
1237
  })
1238
1238
  })
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, expectTypeOf, it, vi } from 'vitest'
2
- import { fireEvent, render, screen, waitFor } from '@solidjs/testing-library'
2
+ import { fireEvent, render, waitFor } from '@solidjs/testing-library'
3
3
  import * as QueryCore from '@tanstack/query-core'
4
4
 
5
5
  import { createRenderEffect, createSignal } from 'solid-js'
@@ -61,13 +61,13 @@ describe('useQueries', () => {
61
61
  )
62
62
  }
63
63
 
64
- render(() => (
64
+ const rendered = render(() => (
65
65
  <QueryClientProvider client={queryClient}>
66
66
  <Page />
67
67
  </QueryClientProvider>
68
68
  ))
69
69
 
70
- await waitFor(() => screen.getByText('data1: 1, data2: 2'))
70
+ await waitFor(() => rendered.getByText('data1: 1, data2: 2'))
71
71
 
72
72
  expect(results.length).toBe(3)
73
73
  expect(results[0]).toMatchObject([{ data: undefined }, { data: undefined }])
@@ -701,12 +701,13 @@ describe('useQueries', () => {
701
701
  )
702
702
  }
703
703
 
704
- render(() => (
704
+ const rendered = render(() => (
705
705
  <QueryClientProvider client={queryClient}>
706
706
  <Page />
707
707
  </QueryClientProvider>
708
708
  ))
709
- fireEvent.click(screen.getByText('unmount'))
709
+
710
+ fireEvent.click(rendered.getByText('unmount'))
710
711
 
711
712
  // Should not display the console error
712
713
  // "Warning: Can't perform a React state update on an unmounted component"