@@ -540,21 +540,21 @@ test.describe('test nav at different viewports', () => {
540540 } )
541541 await page . goto ( '/get-started/foo/bar' )
542542
543- // in article breadcrumbs at our custom xl viewport should remove last
544- // breadcrumb so for this page we should only have 'Get Started / Foo'
545- expect ( await page . getByTestId ( 'breadcrumbs-in-article ' ) . getByRole ( 'link' ) . all ( ) ) . toHaveLength ( 2 )
546- await expect ( page . getByTestId ( 'breadcrumbs-in-article ' ) . getByText ( 'Foo' ) ) . toBeVisible ( )
547- await expect ( page . getByTestId ( 'breadcrumbs-in-article ' ) . getByText ( 'Bar' ) ) . not . toBeVisible ( )
543+ // The Docs 2026 secondary bar leads with a Home crumb, then the full trail
544+ // 'Get started / Foo / Bar' (no hidden last crumb).
545+ expect ( await page . getByTestId ( 'breadcrumbs-bar ' ) . getByRole ( 'link' ) . all ( ) ) . toHaveLength ( 4 )
546+ await expect ( page . getByTestId ( 'breadcrumbs-bar ' ) . getByText ( 'Foo' ) ) . toBeVisible ( )
547+ await expect ( page . getByTestId ( 'breadcrumbs-bar ' ) . getByText ( 'Bar' ) ) . toBeVisible ( )
548548
549549 // breadcrumbs show up in rest reference pages
550550 await page . goto ( '/rest/actions/artifacts' )
551- await expect ( page . getByTestId ( 'breadcrumbs-in-article ' ) ) . toBeVisible ( )
551+ await expect ( page . getByTestId ( 'breadcrumbs-bar ' ) ) . toBeVisible ( )
552552
553553 // breadcrumbs show up in one of the pages that use the AutomatedPage
554554 // component (e.g. graphql, audit log, etc.) -- we test the webhooks
555555 // reference page here
556556 await page . goto ( '/webhooks/webhook-events-and-payloads' )
557- await expect ( page . getByTestId ( 'breadcrumbs-in-article ' ) ) . toBeVisible ( )
557+ await expect ( page . getByTestId ( 'breadcrumbs-bar ' ) ) . toBeVisible ( )
558558 } )
559559
560560 test ( 'large -> x-large viewports - 1012+' , async ( { page } ) => {
@@ -584,17 +584,15 @@ test.describe('test nav at different viewports', () => {
584584 } )
585585 await page . goto ( '/get-started/foo/bar' )
586586
587- // breadcrumbs show up in the header, for this page we should have
588- // 3 items 'Get Started / Foo / Bar'
589- // in-article breadcrumbs don't show up
590- await expect ( page . getByTestId ( 'breadcrumbs-header' ) ) . toBeVisible ( )
591- expect ( await page . getByTestId ( 'breadcrumbs-header' ) . getByRole ( 'link' ) . all ( ) ) . toHaveLength ( 3 )
592- await expect ( page . getByTestId ( 'breadcrumbs-in-article' ) ) . not . toBeVisible ( )
587+ // breadcrumbs show up in the secondary bar; for this page we should have
588+ // a Home crumb plus 'Get started / Foo / Bar'
589+ await expect ( page . getByTestId ( 'breadcrumbs-bar' ) ) . toBeVisible ( )
590+ expect ( await page . getByTestId ( 'breadcrumbs-bar' ) . getByRole ( 'link' ) . all ( ) ) . toHaveLength ( 4 )
593591
594- // hamburger button for sidebar overlay is visible
595- await expect ( page . getByTestId ( 'sidebar-hamburger ' ) ) . toBeVisible ( )
596- await page . getByTestId ( 'sidebar-hamburger ' ) . click ( )
597- await expect ( page . locator ( '[role="dialog"][class*="Header_dialog"] ') ) . toBeVisible ( )
592+ // the mobile nav toggle is visible and expands the doc-tree nav inline
593+ await expect ( page . getByTestId ( 'sidebar-mobile-toggle ' ) ) . toBeVisible ( )
594+ await page . getByTestId ( 'sidebar-mobile-toggle ' ) . click ( )
595+ await expect ( page . getByTestId ( 'sidebar ') ) . toBeVisible ( )
598596 } )
599597
600598 test ( 'medium viewports - 768-1011' , async ( { page } ) => {
@@ -617,9 +615,9 @@ test.describe('test nav at different viewports', () => {
617615 await expect ( page . getByTestId ( 'mobile-signup' ) ) . toBeVisible ( )
618616
619617 // hamburger button for sidebar overlay is visible
620- await expect ( page . getByTestId ( 'sidebar-hamburger ' ) ) . toBeVisible ( )
621- await page . getByTestId ( 'sidebar-hamburger ' ) . click ( )
622- await expect ( page . locator ( '[role="dialog"][class*="Header_dialog"] ') ) . toBeVisible ( )
618+ await expect ( page . getByTestId ( 'sidebar-mobile-toggle ' ) ) . toBeVisible ( )
619+ await page . getByTestId ( 'sidebar-mobile-toggle ' ) . click ( )
620+ await expect ( page . getByTestId ( 'sidebar ') ) . toBeVisible ( )
623621 } )
624622
625623 test ( 'small viewports - 544-767' , async ( { page } ) => {
@@ -646,9 +644,9 @@ test.describe('test nav at different viewports', () => {
646644 await expect ( page . getByTestId ( 'mobile-signup' ) ) . toBeVisible ( )
647645
648646 // hamburger button for sidebar overlay is visible
649- await expect ( page . getByTestId ( 'sidebar-hamburger ' ) ) . toBeVisible ( )
650- await page . getByTestId ( 'sidebar-hamburger ' ) . click ( )
651- await expect ( page . locator ( '[role="dialog"][class*="Header_dialog"] ') ) . toBeVisible ( )
647+ await expect ( page . getByTestId ( 'sidebar-mobile-toggle ' ) ) . toBeVisible ( )
648+ await page . getByTestId ( 'sidebar-mobile-toggle ' ) . click ( )
649+ await expect ( page . getByTestId ( 'sidebar ') ) . toBeVisible ( )
652650 } )
653651
654652 test ( 'x-small viewports - 0-544' , async ( { page } ) => {
@@ -680,9 +678,9 @@ test.describe('test nav at different viewports', () => {
680678 await expect ( page . getByTestId ( 'mobile-signup' ) ) . toBeVisible ( )
681679
682680 // hamburger button for sidebar overlay is visible
683- await expect ( page . getByTestId ( 'sidebar-hamburger ' ) ) . toBeVisible ( )
684- await page . getByTestId ( 'sidebar-hamburger ' ) . click ( )
685- await expect ( page . locator ( '[role="dialog"][class*="Header_dialog"] ') ) . toBeVisible ( )
681+ await expect ( page . getByTestId ( 'sidebar-mobile-toggle ' ) ) . toBeVisible ( )
682+ await page . getByTestId ( 'sidebar-mobile-toggle ' ) . click ( )
683+ await expect ( page . getByTestId ( 'sidebar ') ) . toBeVisible ( )
686684 } )
687685
688686 test ( 'do a search when the viewport is x-small' , async ( { page } ) => {
@@ -881,7 +879,10 @@ test.describe('survey', () => {
881879 await expect ( page . getByRole ( 'button' , { name : 'Send' } ) ) . toBeVisible ( )
882880 await expect ( page . locator ( '[for=survey-comment]' ) ) . toBeVisible ( )
883881
884- await page . getByTestId ( 'product-sidebar' ) . getByLabel ( 'Bar' , { exact : true } ) . click ( )
882+ await page
883+ . getByTestId ( 'product-sidebar' )
884+ . getByRole ( 'link' , { name : 'Bar' , exact : true } )
885+ . click ( )
885886 await expect ( page . getByRole ( 'button' , { name : 'Send' } ) ) . not . toBeVisible ( )
886887 await expect ( page . locator ( '[for=survey-comment]' ) ) . not . toBeVisible ( )
887888 } )
@@ -894,8 +895,13 @@ test.describe('rest API reference pages', () => {
894895 // URL that has that `?apiVersion=` query parameter.
895896 await expect ( page ) . toHaveURL ( / \/ e n \/ r e s t \? a p i V e r s i o n = / )
896897 await page . getByTestId ( 'sidebar' ) . getByText ( 'Actions' ) . click ( )
897- await page . getByTestId ( 'sidebar' ) . getByLabel ( 'Artifacts' ) . click ( )
898- await page . getByLabel ( 'About artifacts in HubGit Actions' ) . click ( )
898+ // Brand NavList renders leaf articles as <a> links (not the label-associated
899+ // controls Primer used), so locate them by link role rather than getByLabel.
900+ await page . getByTestId ( 'sidebar' ) . getByRole ( 'link' , { name : 'Artifacts' } ) . click ( )
901+ await page
902+ . getByTestId ( 'sidebar' )
903+ . getByRole ( 'link' , { name : 'About artifacts in HubGit Actions' } )
904+ . click ( )
899905 await expect ( page ) . toHaveURL ( / \/ e n \/ r e s t \/ a c t i o n s \/ a r t i f a c t s \? a p i V e r s i o n = / )
900906 await expect ( page ) . toHaveTitle ( / G i t H u b A c t i o n s A r t i f a c t s - G i t H u b D o c s / )
901907 } )
0 commit comments