@@ -267,13 +267,28 @@ describe( 'ContentTabSettings', () => {
267
267
updateSite,
268
268
startServer,
269
269
stopServer,
270
+ isEditModalOpen : false ,
271
+ setIsEditModalOpen : jest . fn ( ) ,
270
272
} ) ;
271
273
272
274
const { rerender } = renderWithProvider (
273
275
< ContentTabSettings selectedSite = { selectedSite } />
274
276
) ;
275
277
expect ( screen . getByText ( '8.3' ) ) . toBeVisible ( ) ;
276
278
await user . click ( screen . getByRole ( 'button' , { name : 'Edit site' } ) ) ;
279
+ ( useSiteDetails as jest . Mock ) . mockReturnValue ( {
280
+ selectedSite : { ...selectedSite , running : false } as SiteDetails ,
281
+ updateSite,
282
+ startServer,
283
+ stopServer,
284
+ isEditModalOpen : true ,
285
+ setIsEditModalOpen : jest . fn ( ) ,
286
+ } ) ;
287
+ rerenderWithProvider ( rerender , < ContentTabSettings selectedSite = { selectedSite } /> ) ;
288
+ await waitFor ( ( ) => {
289
+ expect ( screen . getByRole ( 'dialog' ) ) . toBeInTheDocument ( ) ;
290
+ } ) ;
291
+
277
292
const dialog = screen . getByRole ( 'dialog' ) ;
278
293
expect ( dialog ) . toBeVisible ( ) ;
279
294
await user . selectOptions ( within ( dialog ) . getByLabelText ( 'PHP version' ) , '8.2' ) ;
@@ -283,6 +298,16 @@ describe( 'ContentTabSettings', () => {
283
298
} )
284
299
) ;
285
300
301
+ ( useSiteDetails as jest . Mock ) . mockReturnValue ( {
302
+ selectedSite : { ...selectedSite , running : false } as SiteDetails ,
303
+ updateSite,
304
+ startServer,
305
+ stopServer,
306
+ isEditModalOpen : false ,
307
+ setIsEditModalOpen : jest . fn ( ) ,
308
+ } ) ;
309
+ rerenderWithProvider ( rerender , < ContentTabSettings selectedSite = { selectedSite } /> ) ;
310
+
286
311
await waitFor ( ( ) => {
287
312
expect ( updateSite ) . toHaveBeenCalledWith (
288
313
expect . objectContaining ( { phpVersion : '8.2' } )
@@ -313,13 +338,27 @@ describe( 'ContentTabSettings', () => {
313
338
updateSite,
314
339
startServer,
315
340
stopServer,
341
+ isEditModalOpen : false ,
342
+ setIsEditModalOpen : jest . fn ( ) ,
316
343
} ) ;
317
344
318
345
const { rerender } = renderWithProvider (
319
346
< ContentTabSettings selectedSite = { selectedSite } />
320
347
) ;
321
348
expect ( screen . getByText ( '8.3' ) ) . toBeVisible ( ) ;
322
349
await user . click ( screen . getByRole ( 'button' , { name : 'Edit site' } ) ) ;
350
+ ( useSiteDetails as jest . Mock ) . mockReturnValue ( {
351
+ selectedSite : { ...selectedSite , running : true } as SiteDetails ,
352
+ updateSite,
353
+ startServer,
354
+ stopServer,
355
+ isEditModalOpen : true ,
356
+ setIsEditModalOpen : jest . fn ( ) ,
357
+ } ) ;
358
+ rerenderWithProvider ( rerender , < ContentTabSettings selectedSite = { selectedSite } /> ) ;
359
+ await waitFor ( ( ) => {
360
+ expect ( screen . getByRole ( 'dialog' ) ) . toBeInTheDocument ( ) ;
361
+ } ) ;
323
362
const dialog = screen . getByRole ( 'dialog' ) ;
324
363
expect ( dialog ) . toBeVisible ( ) ;
325
364
await user . selectOptions ( within ( dialog ) . getByLabelText ( 'PHP version' ) , '8.2' ) ;
@@ -329,6 +368,16 @@ describe( 'ContentTabSettings', () => {
329
368
} )
330
369
) ;
331
370
371
+ ( useSiteDetails as jest . Mock ) . mockReturnValue ( {
372
+ selectedSite : { ...selectedSite , running : true } as SiteDetails ,
373
+ updateSite,
374
+ startServer,
375
+ stopServer,
376
+ isEditModalOpen : false ,
377
+ setIsEditModalOpen : jest . fn ( ) ,
378
+ } ) ;
379
+ rerenderWithProvider ( rerender , < ContentTabSettings selectedSite = { selectedSite } /> ) ;
380
+
332
381
await waitFor ( ( ) => {
333
382
expect ( updateSite ) . toHaveBeenCalledWith (
334
383
expect . objectContaining ( { phpVersion : '8.2' } )
0 commit comments