@@ -221,135 +221,137 @@ test('hovercards', async ({ page }) => {
221221 await expect ( page . getByText ( "This page doesn't really have an intro" ) ) . toBeVisible ( )
222222} )
223223
224- test ( 'x-large viewports - 1280+' , async ( { page } ) => {
225- page . setViewportSize ( {
226- width : 1300 ,
227- height : 700 ,
228- } )
229- await page . goto ( '/get-started/foo/bar' )
230-
231- // in article breadcrumbs at xl viewport should remove last breadcrumb so
232- // for this page we should only have 'Get Started / Foo'
233- expect ( await page . getByTestId ( 'breadcrumbs-in-article' ) . getByRole ( 'link' ) . all ( ) ) . toHaveLength ( 2 )
234- await expect ( page . getByTestId ( 'breadcrumbs-in-article' ) . getByText ( 'Foo' ) ) . toBeVisible ( )
235- await expect ( page . getByTestId ( 'breadcrumbs-in-article' ) . getByText ( 'Bar' ) ) . not . toBeVisible ( )
236- } )
224+ test . describe ( 'test nav at different viewports' , ( ) => {
225+ test ( 'x-large viewports - 1280+' , async ( { page } ) => {
226+ page . setViewportSize ( {
227+ width : 1300 ,
228+ height : 700 ,
229+ } )
230+ await page . goto ( '/get-started/foo/bar' )
237231
238- test ( 'large -> x-large viewports - 1012+' , async ( { page } ) => {
239- page . setViewportSize ( {
240- width : 1013 ,
241- height : 700 ,
232+ // in article breadcrumbs at xl viewport should remove last breadcrumb so
233+ // for this page we should only have 'Get Started / Foo'
234+ expect ( await page . getByTestId ( 'breadcrumbs-in-article' ) . getByRole ( 'link' ) . all ( ) ) . toHaveLength ( 2 )
235+ await expect ( page . getByTestId ( 'breadcrumbs-in-article' ) . getByText ( 'Foo' ) ) . toBeVisible ( )
236+ await expect ( page . getByTestId ( 'breadcrumbs-in-article' ) . getByText ( 'Bar' ) ) . not . toBeVisible ( )
242237 } )
243- await page . goto ( '/get-started/foo/bar' )
244238
245- // version picker should be visible
246- await page
247- . getByRole ( 'button' , {
248- name : 'Select GitHub product version: current version is free-pro-team@latest' ,
239+ test ( 'large -> x-large viewports - 1012+' , async ( { page } ) => {
240+ page . setViewportSize ( {
241+ width : 1013 ,
242+ height : 700 ,
249243 } )
250- . click ( )
251- expect ( ( await page . getByRole ( 'menuitemradio' ) . all ( ) ) . length ) . toBeGreaterThan ( 0 )
252- await expect ( page . getByRole ( 'menuitemradio' , { name : 'Enterprise Cloud' } ) ) . toBeVisible ( )
253-
254- // language picker is visible
255- // TODO: currently no languages enabled for headless tests
256- // await page.getByRole('button', { name: 'Select language: current language is English' }).click()
257- // await expect(page.getByRole('menuitemradio', { name: 'English' })).toBeVisible()
258-
259- // header sign up button is visible
260- await expect ( page . getByTestId ( 'header-signup' ) ) . toBeVisible ( )
261- } )
262-
263- test ( 'large viewports - 1012-1279' , async ( { page } ) => {
264- page . setViewportSize ( {
265- width : 1013 ,
266- height : 700 ,
244+ await page . goto ( '/get-started/foo/bar' )
245+
246+ // version picker should be visible
247+ await page
248+ . getByRole ( 'button' , {
249+ name : 'Select GitHub product version: current version is free-pro-team@latest' ,
250+ } )
251+ . click ( )
252+ expect ( ( await page . getByRole ( 'menuitemradio' ) . all ( ) ) . length ) . toBeGreaterThan ( 0 )
253+ await expect ( page . getByRole ( 'menuitemradio' , { name : 'Enterprise Cloud' } ) ) . toBeVisible ( )
254+
255+ // language picker is visible
256+ // TODO: currently no languages enabled for headless tests
257+ // await page.getByRole('button', { name: 'Select language: current language is English' }).click()
258+ // await expect(page.getByRole('menuitemradio', { name: 'English' })).toBeVisible()
259+
260+ // header sign up button is visible
261+ await expect ( page . getByTestId ( 'header-signup' ) ) . toBeVisible ( )
267262 } )
268- await page . goto ( '/get-started/foo/bar' )
269-
270- // breadcrumbs show up in the header, for this page we should have
271- // 3 items 'Get Started / Foo / Bar'
272- // in-article breadcrumbs don't show up
273- await expect ( page . getByTestId ( 'breadcrumbs-header' ) ) . toBeVisible ( )
274- expect ( await page . getByTestId ( 'breadcrumbs-header' ) . getByRole ( 'link' ) . all ( ) ) . toHaveLength ( 3 )
275- await expect ( page . getByTestId ( 'breadcrumbs-in-article' ) ) . not . toBeVisible ( )
276-
277- // hamburger button for sidebar overlay is visible
278- await expect ( page . getByTestId ( 'sidebar-hamburger' ) ) . toBeVisible ( )
279- await page . getByTestId ( 'sidebar-hamburger' ) . click ( )
280- await expect ( page . getByTestId ( 'sidebar-product-dialog' ) ) . toBeVisible ( )
281- } )
282263
283- test ( 'medium viewports - 768-1011' , async ( { page } ) => {
284- page . setViewportSize ( {
285- width : 1000 ,
286- height : 700 ,
264+ test ( 'large viewports - 1012-1279' , async ( { page } ) => {
265+ page . setViewportSize ( {
266+ width : 1013 ,
267+ height : 700 ,
268+ } )
269+ await page . goto ( '/get-started/foo/bar' )
270+
271+ // breadcrumbs show up in the header, for this page we should have
272+ // 3 items 'Get Started / Foo / Bar'
273+ // in-article breadcrumbs don't show up
274+ await expect ( page . getByTestId ( 'breadcrumbs-header' ) ) . toBeVisible ( )
275+ expect ( await page . getByTestId ( 'breadcrumbs-header' ) . getByRole ( 'link' ) . all ( ) ) . toHaveLength ( 3 )
276+ await expect ( page . getByTestId ( 'breadcrumbs-in-article' ) ) . not . toBeVisible ( )
277+
278+ // hamburger button for sidebar overlay is visible
279+ await expect ( page . getByTestId ( 'sidebar-hamburger' ) ) . toBeVisible ( )
280+ await page . getByTestId ( 'sidebar-hamburger' ) . click ( )
281+ await expect ( page . getByTestId ( 'sidebar-product-dialog' ) ) . toBeVisible ( )
287282 } )
288- await page . goto ( '/get-started/foo/bar' )
289283
290- // version picker is visible
291- await page
292- . getByRole ( 'button' , {
293- name : 'Select GitHub product version: current version is free-pro-team@latest' ,
284+ test ( 'medium viewports - 768-1011' , async ( { page } ) => {
285+ page . setViewportSize ( {
286+ width : 1000 ,
287+ height : 700 ,
294288 } )
295- . click ( )
296- expect ( ( await page . getByRole ( 'menuitemradio' ) . all ( ) ) . length ) . toBeGreaterThan ( 0 )
297- await expect ( page . getByRole ( 'menuitemradio' , { name : 'Enterprise Cloud' } ) ) . toBeVisible ( )
298-
299- // language picker is in mobile menu
300- // TODO: currently no languages enabled for headless tests
301- // await page.getByTestId('mobile-menu').click()
302- // await page.getByRole('button', { name: 'Select language: current language is English' }).click()
303- // await expect(page.getByRole('menuitemradio', { name: 'English' })).toBeVisible()
304-
305- // sign up button is in mobile menu
306- await expect ( page . getByTestId ( 'header-signup' ) ) . not . toBeVisible ( )
307- await page . getByTestId ( 'mobile-menu' ) . click ( )
308- await expect ( page . getByTestId ( 'mobile-signup' ) ) . toBeVisible ( )
309-
310- // hamburger button for sidebar overlay is visible
311- await expect ( page . getByTestId ( 'sidebar-hamburger' ) ) . toBeVisible ( )
312- await page . getByTestId ( 'sidebar-hamburger' ) . click ( )
313- await expect ( page . getByTestId ( 'sidebar-product-dialog' ) ) . toBeVisible ( )
314- } )
315-
316- test ( 'small viewports - 544-767' , async ( { page } ) => {
317- page . setViewportSize ( {
318- width : 500 ,
319- height : 700 ,
289+ await page . goto ( '/get-started/foo/bar' )
290+
291+ // version picker is visible
292+ await page
293+ . getByRole ( 'button' , {
294+ name : 'Select GitHub product version: current version is free-pro-team@latest' ,
295+ } )
296+ . click ( )
297+ expect ( ( await page . getByRole ( 'menuitemradio' ) . all ( ) ) . length ) . toBeGreaterThan ( 0 )
298+ await expect ( page . getByRole ( 'menuitemradio' , { name : 'Enterprise Cloud' } ) ) . toBeVisible ( )
299+
300+ // language picker is in mobile menu
301+ // TODO: currently no languages enabled for headless tests
302+ // await page.getByTestId('mobile-menu').click()
303+ // await page.getByRole('button', { name: 'Select language: current language is English' }).click()
304+ // await expect(page.getByRole('menuitemradio', { name: 'English' })).toBeVisible()
305+
306+ // sign up button is in mobile menu
307+ await expect ( page . getByTestId ( 'header-signup' ) ) . not . toBeVisible ( )
308+ await page . getByTestId ( 'mobile-menu' ) . click ( )
309+ await expect ( page . getByTestId ( 'mobile-signup' ) ) . toBeVisible ( )
310+
311+ // hamburger button for sidebar overlay is visible
312+ await expect ( page . getByTestId ( 'sidebar-hamburger' ) ) . toBeVisible ( )
313+ await page . getByTestId ( 'sidebar-hamburger' ) . click ( )
314+ await expect ( page . getByTestId ( 'sidebar-product-dialog' ) ) . toBeVisible ( )
320315 } )
321- await page . goto ( '/get-started/foo/bar' )
322316
323- // header sign-up button is not visible
324- await expect ( page . getByTestId ( 'header-signup' ) ) . not . toBeVisible ( )
325-
326- // TODO: currently no languages enabled for headless tests
327- // language picker is not visible
328- // await expect(page.getByTestId('language-picker')).not.toBeVisible()
329-
330- // version picker is not visible
331- await expect (
332- page . getByRole ( 'button' , {
333- name : 'Select GitHub product version: current version is free-pro-team@latest' ,
317+ test ( 'small viewports - 544-767' , async ( { page } ) => {
318+ page . setViewportSize ( {
319+ width : 500 ,
320+ height : 700 ,
334321 } )
335- ) . not . toBeVisible ( )
336-
337- // version picker is in mobile menu
338- await expect ( page . getByTestId ( 'version-picker' ) ) . not . toBeVisible ( )
339- await page . getByTestId ( 'mobile-menu' ) . click ( )
340- await expect ( page . getByTestId ( 'open-mobile-menu' ) . getByTestId ( 'version-picker' ) ) . toBeVisible ( )
341-
342- // TODO: currently no languages enabled for headless tests
343- // language picker is in mobile menu
344- // await expect(page.getByTestId('open-mobile-menu').getByTestId('language-picker')).toBeVisible()
345-
346- // sign up button is in mobile menu
347- await expect ( page . getByTestId ( 'open-mobile-menu' ) . getByTestId ( 'version-picker' ) ) . toBeVisible ( )
348-
349- // hamburger button for sidebar overlay is visible
350- await expect ( page . getByTestId ( 'sidebar-hamburger' ) ) . toBeVisible ( )
351- await page . getByTestId ( 'sidebar-hamburger' ) . click ( )
352- await expect ( page . getByTestId ( 'sidebar-product-dialog' ) ) . toBeVisible ( )
322+ await page . goto ( '/get-started/foo/bar' )
323+
324+ // header sign-up button is not visible
325+ await expect ( page . getByTestId ( 'header-signup' ) ) . not . toBeVisible ( )
326+
327+ // TODO: currently no languages enabled for headless tests
328+ // language picker is not visible
329+ // await expect(page.getByTestId('language-picker')).not.toBeVisible()
330+
331+ // version picker is not visible
332+ await expect (
333+ page . getByRole ( 'button' , {
334+ name : 'Select GitHub product version: current version is free-pro-team@latest' ,
335+ } )
336+ ) . not . toBeVisible ( )
337+
338+ // version picker is in mobile menu
339+ await expect ( page . getByTestId ( 'version-picker' ) ) . not . toBeVisible ( )
340+ await page . getByTestId ( 'mobile-menu' ) . click ( )
341+ await expect ( page . getByTestId ( 'open-mobile-menu' ) . getByTestId ( 'version-picker' ) ) . toBeVisible ( )
342+
343+ // TODO: currently no languages enabled for headless tests
344+ // language picker is in mobile menu
345+ // await expect(page.getByTestId('open-mobile-menu').getByTestId('language-picker')).toBeVisible()
346+
347+ // sign up button is in mobile menu
348+ await expect ( page . getByTestId ( 'open-mobile-menu' ) . getByTestId ( 'version-picker' ) ) . toBeVisible ( )
349+
350+ // hamburger button for sidebar overlay is visible
351+ await expect ( page . getByTestId ( 'sidebar-hamburger' ) ) . toBeVisible ( )
352+ await page . getByTestId ( 'sidebar-hamburger' ) . click ( )
353+ await expect ( page . getByTestId ( 'sidebar-product-dialog' ) ) . toBeVisible ( )
354+ } )
353355} )
354356
355357test . describe ( 'survey' , ( ) => {
0 commit comments