16
16
* SPDX-License-Identifier: Apache-2.0
17
17
***********************************************************************/
18
18
19
- import { expect as playExpect } from '@playwright/test' ;
19
+ import * as os from 'node:os' ;
20
+
20
21
import type { Page } from '@playwright/test' ;
21
- import { PodmanDesktopRunner } from './runner/podman-desktop-runner' ;
22
- import { afterAll , beforeAll , beforeEach , test , describe } from 'vitest' ;
23
- import { WelcomePage } from './model/pages/welcome-page' ;
24
- import { NavigationBar } from './model/workbench/navigation' ;
25
- import type { RunnerTestContext } from './testContext/runner-test-context' ;
26
- import { SettingsBar } from './model/pages/settings-bar' ;
27
- import { ResourcesPage } from './model/pages/resources-page' ;
28
- import { ComposeOnboardingPage } from './model/pages/compose-onboarding-page' ;
29
- import { CLIToolsPage } from './model/pages/cli-tools-page' ;
22
+ import { expect as playExpect } from '@playwright/test' ;
23
+ import { afterAll , beforeAll , beforeEach , describe , test } from 'vitest' ;
24
+
25
+ import { CLIToolsPage } from '../model/pages/cli-tools-page' ;
26
+ import { ComposeOnboardingPage } from '../model/pages/compose-onboarding-page' ;
27
+ import { ResourcesPage } from '../model/pages/resources-page' ;
28
+ import { SettingsBar } from '../model/pages/settings-bar' ;
29
+ import { WelcomePage } from '../model/pages/welcome-page' ;
30
+ import { NavigationBar } from '../model/workbench/navigation' ;
31
+ import { PodmanDesktopRunner } from '../runner/podman-desktop-runner' ;
32
+ import type { RunnerTestContext } from '../testContext/runner-test-context' ;
30
33
31
34
let pdRunner : PodmanDesktopRunner ;
32
35
let page : Page ;
33
36
let navBar : NavigationBar ;
34
37
let composeVersion : string ;
38
+ const isLinux = os . platform ( ) === 'linux' ;
35
39
36
40
beforeAll ( async ( ) => {
37
41
pdRunner = new PodmanDesktopRunner ( ) ;
@@ -51,7 +55,7 @@ beforeEach<RunnerTestContext>(async ctx => {
51
55
ctx . pdRunner = pdRunner ;
52
56
} ) ;
53
57
54
- describe ( 'Compose onboarding workflow verification' , async ( ) => {
58
+ describe . skipIf ( isLinux ) ( 'Compose onboarding workflow verification' , async ( ) => {
55
59
test ( 'Can enter Compose onboarding' , async ( ) => {
56
60
await navBar . openSettings ( ) ;
57
61
const settingsBar = new SettingsBar ( page ) ;
@@ -69,7 +73,7 @@ describe('Compose onboarding workflow verification', async () => {
69
73
const onboardingPage = new ComposeOnboardingPage ( page ) ;
70
74
71
75
await playExpect ( onboardingPage . heading ) . toBeVisible ( ) ;
72
- await playExpect ( onboardingPage . statusMessage ) . toHaveText ( 'Compose Download' ) ;
76
+ await playExpect ( onboardingPage . onboardingStatusMessage ) . toHaveText ( 'Compose Download' ) ;
73
77
74
78
const downloadAvailableText = page . getByText (
75
79
/ C o m p o s e w i l l b e d o w n l o a d e d i n t h e n e x t s t e p \( V e r s i o n v [ 0 - 9 . ] + \) . W a n t t o d o w n l o a d / ,
@@ -86,11 +90,13 @@ describe('Compose onboarding workflow verification', async () => {
86
90
87
91
test ( 'Can install Compose locally' , async ( ) => {
88
92
const onboardingPage = new ComposeOnboardingPage ( page ) ;
89
- await onboardingPage . nextButton . click ( ) ;
93
+ await onboardingPage . nextStepButton . click ( ) ;
90
94
91
- await playExpect ( onboardingPage . statusMessage ) . toHaveText ( 'Compose Successfully Downloaded' , { timeout : 50000 } ) ;
95
+ await playExpect ( onboardingPage . onboardingStatusMessage ) . toHaveText ( 'Compose Successfully Downloaded' , {
96
+ timeout : 50000 ,
97
+ } ) ;
92
98
93
- await onboardingPage . cancelButton . click ( ) ;
99
+ await onboardingPage . cancelSetupButtion . click ( ) ;
94
100
95
101
const skipDialog = page . getByRole ( 'dialog' , { name : 'Skip Setup Popup' , exact : true } ) ;
96
102
const skipOkButton = skipDialog . getByRole ( 'button' , { name : 'Ok' } ) ;
@@ -104,20 +110,20 @@ describe('Compose onboarding workflow verification', async () => {
104
110
await setupButton . click ( ) ;
105
111
106
112
const onboardingPage = new ComposeOnboardingPage ( page ) ;
107
- await playExpect ( onboardingPage . statusMessage ) . toHaveText ( 'Compose Successfully Downloaded' ) ;
113
+ await playExpect ( onboardingPage . onboardingStatusMessage ) . toHaveText ( 'Compose Successfully Downloaded' ) ;
108
114
const downloadAvailableText = page . getByText (
109
115
'The next step will install Compose system-wide. You will be prompted for system' ,
110
116
) ;
111
117
await playExpect ( downloadAvailableText ) . toBeVisible ( ) ;
112
118
113
- await onboardingPage . nextButton . click ( ) ;
119
+ await onboardingPage . nextStepButton . click ( ) ;
114
120
115
- await playExpect ( onboardingPage . statusMessage ) . toHaveText ( 'Compose Installed' , { timeout : 50000 } ) ;
121
+ await playExpect ( onboardingPage . onboardingStatusMessage ) . toHaveText ( 'Compose Installed' , { timeout : 50000 } ) ;
116
122
let downloadFinishedText = page . locator ( 'p' ) ;
117
123
downloadFinishedText = downloadFinishedText . filter ( { hasText : 'Compose is installed system-wide!' } ) ;
118
124
await playExpect ( downloadFinishedText ) . toBeVisible ( ) ;
119
125
120
- await onboardingPage . nextButton . click ( ) ;
126
+ await onboardingPage . nextStepButton . click ( ) ;
121
127
} ) ;
122
128
123
129
test ( 'Verify Compose was installed' , async ( ) => {
0 commit comments