@@ -149,7 +149,9 @@ async fn wait_for_absent_css(client: &Client, selector: &str, timeout: Duration)
149149 return Ok ( ( ) ) ;
150150 }
151151 if Instant :: now ( ) >= deadline {
152- return Err ( format ! ( "timed out waiting for selector to disappear: {selector}" ) ) ;
152+ return Err ( format ! (
153+ "timed out waiting for selector to disappear: {selector}"
154+ ) ) ;
153155 }
154156 sleep ( Duration :: from_millis ( 250 ) ) . await ;
155157 }
@@ -219,7 +221,12 @@ async fn desktop_shell_renders_and_navigates() {
219221 let client = connect_client ( ) . await ;
220222
221223 let result: TestResult < ( ) > = async {
222- wait_for_css ( & client, "[data-testid='nav-dashboard']" , Duration :: from_secs ( 30 ) ) . await ?;
224+ wait_for_css (
225+ & client,
226+ "[data-testid='nav-dashboard']" ,
227+ Duration :: from_secs ( 30 ) ,
228+ )
229+ . await ?;
223230
224231 click_css ( & client, "[data-testid='nav-ai']" ) . await ?;
225232 wait_for_css ( & client, "[role='tab']" , Duration :: from_secs ( 15 ) ) . await ?;
@@ -284,13 +291,27 @@ async fn desktop_shell_runs_container_lifecycle() {
284291 let client = connect_client ( ) . await ;
285292
286293 let result: TestResult < ( ) > = async {
287- wait_for_css ( & client, "[data-testid='nav-dashboard']" , Duration :: from_secs ( 30 ) ) . await ?;
294+ wait_for_css (
295+ & client,
296+ "[data-testid='nav-dashboard']" ,
297+ Duration :: from_secs ( 30 ) ,
298+ )
299+ . await ?;
288300 click_css ( & client, "[data-testid='nav-containers']" ) . await ?;
289- wait_for_css ( & client, "[data-testid='containers-run']" , Duration :: from_secs ( 15 ) ) . await ?;
301+ wait_for_css (
302+ & client,
303+ "[data-testid='containers-run']" ,
304+ Duration :: from_secs ( 15 ) ,
305+ )
306+ . await ?;
290307
291308 click_css ( & client, "[data-testid='containers-run']" ) . await ?;
292- wait_for_css ( & client, "[data-testid='containers-dialog-run']" , Duration :: from_secs ( 15 ) )
293- . await ?;
309+ wait_for_css (
310+ & client,
311+ "[data-testid='containers-dialog-run']" ,
312+ Duration :: from_secs ( 15 ) ,
313+ )
314+ . await ?;
294315
295316 clear_and_type_css (
296317 & client,
@@ -306,8 +327,12 @@ async fn desktop_shell_runs_container_lifecycle() {
306327 . await ?;
307328
308329 click_css ( & client, "[data-testid='containers-run-add-env']" ) . await ?;
309- wait_for_css ( & client, "[data-testid='containers-run-env-key-0']" , Duration :: from_secs ( 10 ) )
310- . await ?;
330+ wait_for_css (
331+ & client,
332+ "[data-testid='containers-run-env-key-0']" ,
333+ Duration :: from_secs ( 10 ) ,
334+ )
335+ . await ?;
311336 clear_and_type_css ( & client, "[data-testid='containers-run-env-key-0']" , env_key) . await ?;
312337 clear_and_type_css (
313338 & client,
@@ -322,25 +347,42 @@ async fn desktop_shell_runs_container_lifecycle() {
322347 wait_for_css ( & client, & stop_button_selector, Duration :: from_secs ( 30 ) ) . await ?;
323348
324349 click_css ( & client, & env_button_selector) . await ?;
325- wait_for_css ( & client, "[data-testid='containers-dialog-env']" , Duration :: from_secs ( 20 ) )
326- . await ?;
350+ wait_for_css (
351+ & client,
352+ "[data-testid='containers-dialog-env']" ,
353+ Duration :: from_secs ( 20 ) ,
354+ )
355+ . await ?;
327356 wait_for_page_text ( & client, env_key, Duration :: from_secs ( 20 ) ) . await ?;
328357 wait_for_page_text ( & client, & env_value, Duration :: from_secs ( 20 ) ) . await ?;
329358 click_css ( & client, "[data-testid='containers-env-close']" ) . await ?;
330- wait_for_absent_css ( & client, "[data-testid='containers-dialog-env']" , Duration :: from_secs ( 10 ) )
331- . await ?;
359+ wait_for_absent_css (
360+ & client,
361+ "[data-testid='containers-dialog-env']" ,
362+ Duration :: from_secs ( 10 ) ,
363+ )
364+ . await ?;
332365
333366 click_css ( & client, & login_button_selector) . await ?;
334- wait_for_css ( & client, "[data-testid='app-modal-text']" , Duration :: from_secs ( 20 ) ) . await ?;
367+ wait_for_css (
368+ & client,
369+ "[data-testid='app-modal-text']" ,
370+ Duration :: from_secs ( 20 ) ,
371+ )
372+ . await ?;
335373 wait_for_page_text (
336374 & client,
337375 & format ! ( "docker exec -it {container_name} /bin/sh" ) ,
338376 Duration :: from_secs ( 20 ) ,
339377 )
340378 . await ?;
341379 click_css ( & client, "[data-testid='app-modal-close']" ) . await ?;
342- wait_for_absent_css ( & client, "[data-testid='app-modal-text']" , Duration :: from_secs ( 10 ) )
343- . await ?;
380+ wait_for_absent_css (
381+ & client,
382+ "[data-testid='app-modal-text']" ,
383+ Duration :: from_secs ( 10 ) ,
384+ )
385+ . await ?;
344386
345387 click_css ( & client, & stop_button_selector) . await ?;
346388 wait_for_docker_state ( & container_name, false , Duration :: from_secs ( 60 ) ) . await ?;
@@ -386,13 +428,28 @@ async fn desktop_shell_runs_mcp_lifecycle() {
386428 let client = connect_client ( ) . await ;
387429
388430 let result: TestResult < ( ) > = async {
389- wait_for_css ( & client, "[data-testid='nav-dashboard']" , Duration :: from_secs ( 30 ) ) . await ?;
431+ wait_for_css (
432+ & client,
433+ "[data-testid='nav-dashboard']" ,
434+ Duration :: from_secs ( 30 ) ,
435+ )
436+ . await ?;
390437 click_css ( & client, "[data-testid='nav-ai']" ) . await ?;
391- wait_for_css ( & client, "[data-testid='aihub-tab-mcp']" , Duration :: from_secs ( 20 ) ) . await ?;
438+ wait_for_css (
439+ & client,
440+ "[data-testid='aihub-tab-mcp']" ,
441+ Duration :: from_secs ( 20 ) ,
442+ )
443+ . await ?;
392444 click_css ( & client, "[data-testid='aihub-tab-mcp']" ) . await ?;
393445
394446 click_css ( & client, "[data-testid='mcp-add-server']" ) . await ?;
395- wait_for_css ( & client, "[data-testid='mcp-input-id']" , Duration :: from_secs ( 15 ) ) . await ?;
447+ wait_for_css (
448+ & client,
449+ "[data-testid='mcp-input-id']" ,
450+ Duration :: from_secs ( 15 ) ,
451+ )
452+ . await ?;
396453 let mcp_id = client
397454 . find ( Locator :: Css ( "[data-testid='mcp-input-id']" ) )
398455 . await
@@ -416,14 +473,31 @@ async fn desktop_shell_runs_mcp_lifecycle() {
416473 )
417474 . await ?;
418475 clear_and_type_css ( & client, "[data-testid='mcp-input-working-dir']" , & workdir) . await ?;
419- clear_and_type_css ( & client, "[data-testid='mcp-input-notes']" , "desktop runtime smoke" ) . await ?;
476+ clear_and_type_css (
477+ & client,
478+ "[data-testid='mcp-input-notes']" ,
479+ "desktop runtime smoke" ,
480+ )
481+ . await ?;
420482
421483 click_css ( & client, "[data-testid='mcp-save-registry']" ) . await ?;
422484 wait_for_css ( & client, & row_selector, Duration :: from_secs ( 30 ) ) . await ?;
423- wait_for_css_text ( & client, & status_selector, "Stopped" , Duration :: from_secs ( 20 ) ) . await ?;
485+ wait_for_css_text (
486+ & client,
487+ & status_selector,
488+ "Stopped" ,
489+ Duration :: from_secs ( 20 ) ,
490+ )
491+ . await ?;
424492
425493 click_css ( & client, & toggle_selector) . await ?;
426- wait_for_css_text ( & client, & status_selector, "Running" , Duration :: from_secs ( 30 ) ) . await ?;
494+ wait_for_css_text (
495+ & client,
496+ & status_selector,
497+ "Running" ,
498+ Duration :: from_secs ( 30 ) ,
499+ )
500+ . await ?;
427501 wait_for_css_text (
428502 & client,
429503 "[data-testid='mcp-selected-status']" ,
0 commit comments