@@ -461,36 +461,38 @@ test("capture dashboard screenshot", async ({ page }) => {
461461 await page . getByRole ( "tab" , { name : / p u l l r e q u e s t s / i } ) . click ( ) ;
462462 await page . getByRole ( "tab" , { name : / p u l l r e q u e s t s / i, selected : true } ) . waitFor ( ) ;
463463
464- // Wait for repo group headers to render (visible even when collapsed)
465- await page . getByText ( "acme-corp/web-platform" ) . first ( ) . waitFor ( ) ;
464+ // Expand several repo groups for a richer screenshot
465+ const reposToExpand = [ "acme-corp/web-platform" , "openstack/nova" , "acme-corp/api-gateway" ] ;
466466
467- // Expand a repo group by clicking its header button (scoped to avoid notification bell)
468- const repoGroupBtn = page . getByRole ( "button" , { expanded : false } ) . filter ( { hasText : "acme-corp/web-platform" } ) ;
469- if ( await repoGroupBtn . isVisible ( ) ) {
470- await repoGroupBtn . click ( ) ;
471- await page . getByRole ( "button" , { expanded : true } ) . filter ( { hasText : "acme-corp/web-platform" } ) . waitFor ( ) ;
467+ await page . getByText ( "acme-corp/web-platform" ) . first ( ) . waitFor ( ) ;
468+ for ( const repo of reposToExpand ) {
469+ const btn = page . getByRole ( "button" , { expanded : false } ) . filter ( { hasText : repo } ) ;
470+ if ( await btn . isVisible ( ) ) {
471+ await btn . click ( ) ;
472+ await page . getByRole ( "button" , { expanded : true } ) . filter ( { hasText : repo } ) . waitFor ( ) ;
473+ }
472474 }
473475
474476 await page . screenshot ( { path : "docs/dashboard-screenshot.png" } ) ;
475477
476- // Switch to compact density: update the config in localStorage and reload
477- // so SolidJS reactive state (isCompact memos, <Show> guards) picks it up.
478- // Switch to compact density via the settings UI (client-side nav to preserve store state)
478+ // Switch to compact density via settings UI (client-side nav to preserve store state)
479479 await page . getByRole ( "link" , { name : "Settings" } ) . click ( ) ;
480480 await page . getByRole ( "button" , { name : / v i e w d e n s i t y : c o m p a c t / i } ) . waitFor ( ) ;
481481 await page . getByRole ( "button" , { name : / v i e w d e n s i t y : c o m p a c t / i } ) . click ( ) ;
482482 await page . getByRole ( "button" , { name : / v i e w d e n s i t y : c o m p a c t / i, pressed : true } ) . waitFor ( ) ;
483483
484- // Navigate back to dashboard via the back link (client-side, no full reload)
484+ // Navigate back to dashboard (client-side, no full reload)
485485 await page . getByRole ( "link" , { name : "Back to dashboard" } ) . click ( ) ;
486486 await page . getByRole ( "tablist" ) . waitFor ( ) ;
487487 await page . getByRole ( "tab" , { name : / p u l l r e q u e s t s / i } ) . click ( ) ;
488488 await page . getByRole ( "tab" , { name : / p u l l r e q u e s t s / i, selected : true } ) . waitFor ( ) ;
489489 await page . getByText ( "acme-corp/web-platform" ) . first ( ) . waitFor ( ) ;
490- const compactRepoBtn = page . getByRole ( "button" , { expanded : false } ) . filter ( { hasText : "acme-corp/web-platform" } ) ;
491- if ( await compactRepoBtn . isVisible ( ) ) {
492- await compactRepoBtn . click ( ) ;
493- await page . getByRole ( "button" , { expanded : true } ) . filter ( { hasText : "acme-corp/web-platform" } ) . waitFor ( ) ;
490+ for ( const repo of reposToExpand ) {
491+ const btn = page . getByRole ( "button" , { expanded : false } ) . filter ( { hasText : repo } ) ;
492+ if ( await btn . isVisible ( ) ) {
493+ await btn . click ( ) ;
494+ await page . getByRole ( "button" , { expanded : true } ) . filter ( { hasText : repo } ) . waitFor ( ) ;
495+ }
494496 }
495497
496498 await page . screenshot ( { path : "docs/dashboard-screenshot-compact.png" } ) ;
0 commit comments