1
1
const { expect} = require ( '@playwright/test' ) ;
2
- const { log, args, createPage, closePage, takeScreenshot, waitForServerReady} = require ( './test-utils' ) ;
2
+ const { log, args, createPage, closePage, takeScreenshot, waitForServerReady, dismissDevmode } = require ( './test-utils' ) ;
3
3
4
4
( async ( ) => {
5
5
const arg = args ( ) ;
@@ -10,37 +10,36 @@ const {log, args, createPage, closePage, takeScreenshot, waitForServerReady} = r
10
10
11
11
await page . locator ( 'html' ) . first ( ) . innerHTML ( ) ;
12
12
await takeScreenshot ( page , __filename , 'view1-loaded' ) ;
13
+
14
+ if ( await dismissDevmode ( page ) ) {
15
+ await takeScreenshot ( page , __filename , `dev-mode-indicator-closed` ) ;
16
+ }
17
+
13
18
await expect ( page . getByText ( 'Pre-releases per version' ) . first ( ) ) . toBeVisible ( ) ;
14
19
15
20
await page . getByText ( 'by release count' ) . click ( ) ;
16
21
17
22
await takeScreenshot ( page , __filename , 'view3-loaded' ) ;
18
23
await expect ( page . getByText ( 'Releases per version' ) . first ( ) ) . toBeVisible ( ) ;
19
24
25
+ const [ major , minor ] = arg . version . split ( '.' ) ;
26
+ const labelRegex = new RegExp ( `${ major } \\.${ minor } , ` ) ;
27
+ await page . getByLabel ( labelRegex ) . click ( ) ;
20
28
21
- if ( arg . version !== 'current' ) {
22
- const [ major , minor ] = arg . version . split ( '.' ) ;
23
- const labelRegex = new RegExp ( `${ major } \\.${ minor } , ` ) ;
24
- await page . getByLabel ( labelRegex ) . click ( ) ;
25
-
26
- await takeScreenshot ( page , __filename , `element-${ labelRegex } -clicked` ) ;
27
- const selector = `path.highcharts-point[aria-label*="${ arg . version } "]`
28
- await expect ( page . getByLabel ( 'Interactive chart' ) . locator ( selector ) ) . toBeVisible ( ) ;
29
- await takeScreenshot ( page , __filename , `interactive-chart-${ arg . version } -loaded` ) ;
30
-
31
- if ( arg . mode == 'dev' ) {
32
- try {
33
- await page . getByText ( 'Dismiss' ) . click ( { timeout : 500 } ) ;
34
- await takeScreenshot ( page , __filename , `dev-mode-indicator-closed` ) ;
35
- } catch ( e ) {
36
- log ( 'No dev mode indicator' ) ;
37
- }
38
- }
29
+ await takeScreenshot ( page , __filename , `element-${ labelRegex } -clicked` ) ;
30
+ let selector = `path.highcharts-point[aria-label*="${ arg . version } "]`
31
+ await expect ( page . getByLabel ( 'Interactive chart' ) . locator ( selector ) ) . toBeVisible ( ) ;
32
+ await takeScreenshot ( page , __filename , `interactive-chart-${ arg . version } -loaded` ) ;
39
33
34
+ if ( await page . getByText ( arg . version ) . first ( ) . isEnabled ( ) ) {
35
+ await page . getByText ( arg . version ) . first ( ) . click ( ) ;
36
+ } else if ( await page . locator ( `${ arg . version } , 1.` ) . isEnabled ( ) ) {
37
+ await page . locator ( `${ arg . version } , 1.` ) . isEnabled ( ) ;
38
+ } else if ( await page . locator ( selector ) . first ( ) . isEnabled ( ) ) {
40
39
await page . locator ( selector ) . first ( ) . click ( ) ;
41
- await expect ( page . getByRole ( 'heading' , { name : `Release Notes for ${ arg . version } ` } ) ) . toBeVisible ( ) ;
42
- await takeScreenshot ( page , __filename , `release-notes-${ arg . version } -loaded` ) ;
43
40
}
41
+ await expect ( page . getByRole ( 'heading' , { name : `Release Notes for ${ arg . version } ` } ) ) . toBeVisible ( ) ;
42
+ await takeScreenshot ( page , __filename , `release-notes-${ arg . version } -loaded` ) ;
44
43
45
44
log ( JSON . stringify ( arg ) ) ;
46
45
await closePage ( page ) ;
0 commit comments