1
1
import { test , expect } from '@playwright/test' ;
2
2
3
- const BASE_URL = '/tests/navigation/page-one ' ;
3
+ const BASE_URL = '/tests/navigation' ;
4
4
5
5
test ( 'user can navigate between lessons using nav bar links' , async ( { page } ) => {
6
- await page . goto ( BASE_URL ) ;
6
+ await page . goto ( ` ${ BASE_URL } /page-one` ) ;
7
7
await expect ( page . getByRole ( 'heading' , { level : 1 , name : 'Navigation test - Page one' } ) ) . toBeVisible ( ) ;
8
8
9
9
// navigate forwards
@@ -21,10 +21,32 @@ test('user can navigate between lessons using nav bar links', async ({ page }) =
21
21
} ) ;
22
22
23
23
test ( 'user can navigate between lessons using breadcrumbs' , async ( { page } ) => {
24
- await page . goto ( BASE_URL ) ;
24
+ await page . goto ( ` ${ BASE_URL } /page-one` ) ;
25
25
26
26
await page . getByRole ( 'button' , { name : 'Tests / Navigation / Page one' } ) . click ( { force : true } ) ;
27
27
await page . getByRole ( 'region' , { name : 'Navigation' } ) . getByRole ( 'link' , { name : 'Page three' } ) . click ( ) ;
28
28
29
29
await expect ( page . getByRole ( 'heading' , { level : 1 , name : 'Navigation test - Page three' } ) ) . toBeVisible ( ) ;
30
30
} ) ;
31
+
32
+ test ( "user should see metadata's layout changes after navigation (#318)" , async ( { page } ) => {
33
+ await page . goto ( `${ BASE_URL } /layout-change-from` ) ;
34
+
35
+ // first page should have preview visible
36
+ await expect ( page . getByRole ( 'heading' , { level : 1 , name : 'Navigation test - Layout change from' } ) ) . toBeVisible ( ) ;
37
+ await expect ( page . getByText ( 'Custom preview' ) ) . toBeVisible ( ) ;
38
+
39
+ await page . getByRole ( 'link' , { name : 'Layout change to' } ) . click ( ) ;
40
+ await expect ( page . getByRole ( 'heading' , { level : 1 , name : 'Navigation test - Layout change to' } ) ) . toBeVisible ( ) ;
41
+
42
+ // second page should have preview hidden, terminal visible
43
+
44
+ /* eslint-disable multiline-comment-style */
45
+ // TODO: Requires #245
46
+ // await expect(page.getByText('Preparing Environment')).not.toBeVisible();
47
+
48
+ await expect ( page . getByRole ( 'tab' , { name : 'Custom Terminal' , selected : true } ) ) . toBeVisible ( ) ;
49
+ await expect ( page . getByRole ( 'tabpanel' , { name : 'Custom Terminal' } ) ) . toContainText ( '~/tutorial' , {
50
+ useInnerText : true ,
51
+ } ) ;
52
+ } ) ;
0 commit comments