@@ -198,6 +198,29 @@ describe('Toggle', () => {
198
198
const spinner = screen . getByTestId ( 'toggle-loading-spinner' )
199
199
expect ( spinner ) . toBeInTheDocument ( )
200
200
} )
201
+
202
+ describe ( 'and is clicked' , ( ) => {
203
+ it ( 'does not fire onClick' , async ( ) => {
204
+ const { user } = setup ( )
205
+ const mockFn = vi . fn ( )
206
+ render (
207
+ < Toggle
208
+ label = "🐕"
209
+ dataMarketing = "marketing"
210
+ value = { false }
211
+ disabled = { false }
212
+ onClick = { mockFn }
213
+ isLoading = { true }
214
+ />
215
+ )
216
+
217
+ const button = screen . getByRole ( 'button' )
218
+
219
+ await user . click ( button )
220
+
221
+ expect ( mockFn ) . not . toHaveBeenCalled ( )
222
+ } )
223
+ } )
201
224
} )
202
225
203
226
describe ( 'when isLoading is false' , ( ) => {
@@ -216,6 +239,29 @@ describe('Toggle', () => {
216
239
const spinner = screen . queryByTestId ( 'toggle-loading-spinner' )
217
240
expect ( spinner ) . not . toBeInTheDocument ( )
218
241
} )
242
+
243
+ describe ( 'and is clicked' , ( ) => {
244
+ it ( 'does fire onClick' , async ( ) => {
245
+ const { user } = setup ( )
246
+ const mockFn = vi . fn ( )
247
+ render (
248
+ < Toggle
249
+ label = "🐕"
250
+ dataMarketing = "marketing"
251
+ value = { false }
252
+ disabled = { false }
253
+ onClick = { mockFn }
254
+ isLoading = { false }
255
+ />
256
+ )
257
+
258
+ const button = screen . getByRole ( 'button' )
259
+
260
+ await user . click ( button )
261
+
262
+ expect ( mockFn ) . toHaveBeenCalled ( )
263
+ } )
264
+ } )
219
265
} )
220
266
} )
221
267
} )
0 commit comments