1
- import { fireEvent , render , screen } from '@testing-library/react' ;
1
+ import { render , screen } from '@testing-library/react' ;
2
+ import userEvent from '@testing-library/user-event' ;
2
3
import { MemoryRouter } from 'react-router-dom' ;
4
+
3
5
import { mockAccountNotifications } from '../__mocks__/notifications-mocks' ;
4
6
import { mockAuth , mockSettings } from '../__mocks__/state-mocks' ;
5
7
import { AppContext } from '../context/App' ;
@@ -59,7 +61,7 @@ describe('renderer/components/Sidebar.tsx', () => {
59
61
expect ( tree ) . toMatchSnapshot ( ) ;
60
62
} ) ;
61
63
62
- it ( 'should navigate home when clicking the gitify logo' , ( ) => {
64
+ it ( 'should navigate home when clicking the gitify logo' , async ( ) => {
63
65
render (
64
66
< AppContext . Provider
65
67
value = { {
@@ -75,12 +77,13 @@ describe('renderer/components/Sidebar.tsx', () => {
75
77
</ AppContext . Provider > ,
76
78
) ;
77
79
78
- fireEvent . click ( screen . getByTestId ( 'sidebar-home' ) ) ;
80
+ await userEvent . click ( screen . getByTestId ( 'sidebar-home' ) ) ;
81
+
79
82
expect ( mockNavigate ) . toHaveBeenNthCalledWith ( 1 , '/' , { replace : true } ) ;
80
83
} ) ;
81
84
82
85
describe ( 'notifications icon' , ( ) => {
83
- it ( 'opens notifications home when clicked' , ( ) => {
86
+ it ( 'opens notifications home when clicked' , async ( ) => {
84
87
render (
85
88
< AppContext . Provider
86
89
value = { {
@@ -96,7 +99,7 @@ describe('renderer/components/Sidebar.tsx', () => {
96
99
</ AppContext . Provider > ,
97
100
) ;
98
101
99
- fireEvent . click ( screen . getByTestId ( 'sidebar-notifications' ) ) ;
102
+ await userEvent . click ( screen . getByTestId ( 'sidebar-notifications' ) ) ;
100
103
101
104
expect ( openExternalLinkMock ) . toHaveBeenCalledTimes ( 1 ) ;
102
105
expect ( openExternalLinkMock ) . toHaveBeenCalledWith (
@@ -144,7 +147,7 @@ describe('renderer/components/Sidebar.tsx', () => {
144
147
} ) ;
145
148
146
149
describe ( 'Filter notifications' , ( ) => {
147
- it ( 'go to the filters route' , ( ) => {
150
+ it ( 'go to the filters route' , async ( ) => {
148
151
render (
149
152
< AppContext . Provider
150
153
value = { {
@@ -160,12 +163,12 @@ describe('renderer/components/Sidebar.tsx', () => {
160
163
</ AppContext . Provider > ,
161
164
) ;
162
165
163
- fireEvent . click ( screen . getByTestId ( 'sidebar-filter-notifications' ) ) ;
166
+ await userEvent . click ( screen . getByTestId ( 'sidebar-filter-notifications' ) ) ;
164
167
165
168
expect ( mockNavigate ) . toHaveBeenNthCalledWith ( 1 , '/filters' ) ;
166
169
} ) ;
167
170
168
- it ( 'go to the home if filters path already shown' , ( ) => {
171
+ it ( 'go to the home if filters path already shown' , async ( ) => {
169
172
render (
170
173
< AppContext . Provider
171
174
value = { {
@@ -181,14 +184,14 @@ describe('renderer/components/Sidebar.tsx', () => {
181
184
</ AppContext . Provider > ,
182
185
) ;
183
186
184
- fireEvent . click ( screen . getByTestId ( 'sidebar-filter-notifications' ) ) ;
187
+ await userEvent . click ( screen . getByTestId ( 'sidebar-filter-notifications' ) ) ;
185
188
186
189
expect ( mockNavigate ) . toHaveBeenNthCalledWith ( 1 , '/' , { replace : true } ) ;
187
190
} ) ;
188
191
} ) ;
189
192
190
193
describe ( 'quick links' , ( ) => {
191
- it ( 'opens my github issues page' , ( ) => {
194
+ it ( 'opens my github issues page' , async ( ) => {
192
195
render (
193
196
< AppContext . Provider
194
197
value = { {
@@ -204,15 +207,15 @@ describe('renderer/components/Sidebar.tsx', () => {
204
207
</ AppContext . Provider > ,
205
208
) ;
206
209
207
- fireEvent . click ( screen . getByTestId ( 'sidebar-my-issues' ) ) ;
210
+ await userEvent . click ( screen . getByTestId ( 'sidebar-my-issues' ) ) ;
208
211
209
212
expect ( openExternalLinkMock ) . toHaveBeenCalledTimes ( 1 ) ;
210
213
expect ( openExternalLinkMock ) . toHaveBeenCalledWith (
211
214
'https://github.com/issues' ,
212
215
) ;
213
216
} ) ;
214
217
215
- it ( 'opens my github pull requests page' , ( ) => {
218
+ it ( 'opens my github pull requests page' , async ( ) => {
216
219
render (
217
220
< AppContext . Provider
218
221
value = { {
@@ -228,7 +231,7 @@ describe('renderer/components/Sidebar.tsx', () => {
228
231
</ AppContext . Provider > ,
229
232
) ;
230
233
231
- fireEvent . click ( screen . getByTestId ( 'sidebar-my-pull-requests' ) ) ;
234
+ await userEvent . click ( screen . getByTestId ( 'sidebar-my-pull-requests' ) ) ;
232
235
233
236
expect ( openExternalLinkMock ) . toHaveBeenCalledTimes ( 1 ) ;
234
237
expect ( openExternalLinkMock ) . toHaveBeenCalledWith (
@@ -238,7 +241,7 @@ describe('renderer/components/Sidebar.tsx', () => {
238
241
} ) ;
239
242
240
243
describe ( 'Refresh Notifications' , ( ) => {
241
- it ( 'should refresh the notifications when status is not loading' , ( ) => {
244
+ it ( 'should refresh the notifications when status is not loading' , async ( ) => {
242
245
render (
243
246
< AppContext . Provider
244
247
value = { {
@@ -256,12 +259,12 @@ describe('renderer/components/Sidebar.tsx', () => {
256
259
</ AppContext . Provider > ,
257
260
) ;
258
261
259
- fireEvent . click ( screen . getByTestId ( 'sidebar-refresh' ) ) ;
262
+ await userEvent . click ( screen . getByTestId ( 'sidebar-refresh' ) ) ;
260
263
261
264
expect ( fetchNotifications ) . toHaveBeenCalledTimes ( 1 ) ;
262
265
} ) ;
263
266
264
- it ( 'should not refresh the notifications when status is loading' , ( ) => {
267
+ it ( 'should not refresh the notifications when status is loading' , async ( ) => {
265
268
render (
266
269
< AppContext . Provider
267
270
value = { {
@@ -279,14 +282,14 @@ describe('renderer/components/Sidebar.tsx', () => {
279
282
</ AppContext . Provider > ,
280
283
) ;
281
284
282
- fireEvent . click ( screen . getByTestId ( 'sidebar-refresh' ) ) ;
285
+ await userEvent . click ( screen . getByTestId ( 'sidebar-refresh' ) ) ;
283
286
284
287
expect ( fetchNotifications ) . not . toHaveBeenCalled ( ) ;
285
288
} ) ;
286
289
} ) ;
287
290
288
291
describe ( 'Settings' , ( ) => {
289
- it ( 'go to the settings route' , ( ) => {
292
+ it ( 'go to the settings route' , async ( ) => {
290
293
render (
291
294
< AppContext . Provider
292
295
value = { {
@@ -302,12 +305,12 @@ describe('renderer/components/Sidebar.tsx', () => {
302
305
</ AppContext . Provider > ,
303
306
) ;
304
307
305
- fireEvent . click ( screen . getByTestId ( 'sidebar-settings' ) ) ;
308
+ await userEvent . click ( screen . getByTestId ( 'sidebar-settings' ) ) ;
306
309
307
310
expect ( mockNavigate ) . toHaveBeenNthCalledWith ( 1 , '/settings' ) ;
308
311
} ) ;
309
312
310
- it ( 'go to the home if settings path already shown' , ( ) => {
313
+ it ( 'go to the home if settings path already shown' , async ( ) => {
311
314
render (
312
315
< AppContext . Provider
313
316
value = { {
@@ -324,14 +327,14 @@ describe('renderer/components/Sidebar.tsx', () => {
324
327
</ AppContext . Provider > ,
325
328
) ;
326
329
327
- fireEvent . click ( screen . getByTestId ( 'sidebar-settings' ) ) ;
330
+ await userEvent . click ( screen . getByTestId ( 'sidebar-settings' ) ) ;
328
331
329
332
expect ( fetchNotifications ) . toHaveBeenCalledTimes ( 1 ) ;
330
333
expect ( mockNavigate ) . toHaveBeenNthCalledWith ( 1 , '/' , { replace : true } ) ;
331
334
} ) ;
332
335
} ) ;
333
336
334
- it ( 'should quit the app' , ( ) => {
337
+ it ( 'should quit the app' , async ( ) => {
335
338
const quitAppMock = jest . spyOn ( comms , 'quitApp' ) ;
336
339
337
340
render (
@@ -349,7 +352,7 @@ describe('renderer/components/Sidebar.tsx', () => {
349
352
</ AppContext . Provider > ,
350
353
) ;
351
354
352
- fireEvent . click ( screen . getByTestId ( 'sidebar-quit' ) ) ;
355
+ await userEvent . click ( screen . getByTestId ( 'sidebar-quit' ) ) ;
353
356
354
357
expect ( quitAppMock ) . toHaveBeenCalledTimes ( 1 ) ;
355
358
} ) ;
0 commit comments