1- import { test , expect } from '@playwright/test'
1+ import { test , expect , type Locator } from '@playwright/test'
2+
3+ async function clickWhenReady ( locator : Locator ) {
4+ await expect ( locator ) . toBeVisible ( )
5+ await expect ( locator ) . toBeEnabled ( )
6+ await locator . click ( )
7+ }
28
39test ( 'smoke test' , async ( { page } ) => {
410 await page . goto ( '/' )
@@ -13,18 +19,20 @@ test('smoke test', async ({ page }) => {
1319 await page . getByRole ( 'button' , { name : 'Start Game' } ) . click ( )
1420
1521 // play 1 round
16- await page . getByRole ( 'button' , { name : 'Next' } ) . click ( )
17- await page . getByRole ( 'button' , { name : 'Next' } ) . click ( )
18- await page . getByRole ( 'button' , { name : 'Next' } ) . click ( )
19- await page . getByRole ( 'button' , { name : 'Next' } ) . click ( )
20- await page . getByRole ( 'button' , { name : 'Next' } ) . click ( )
21- await page . getByRole ( 'button' , { name : 'Next' } ) . click ( )
22- await page . getByRole ( 'button' , { name : 'Next' } ) . click ( )
23- await page . getByRole ( 'button' , { name : 'Next' } ) . click ( )
24- await page . getByRole ( 'button' , { name : 'Pass' } ) . click ( )
25- await page . getByRole ( 'button' , { name : 'Next' } ) . click ( )
26- await page . getByRole ( 'button' , { name : 'Next' } ) . click ( )
27- await page . getByRole ( 'button' , { name : 'Next' } ) . click ( )
22+ const nextButton = page . getByRole ( 'button' , { name : 'Next' } )
23+ const passButton = page . getByRole ( 'button' , { name : 'Pass' } )
24+ await clickWhenReady ( nextButton )
25+ await clickWhenReady ( nextButton )
26+ await clickWhenReady ( nextButton )
27+ await clickWhenReady ( nextButton )
28+ await clickWhenReady ( nextButton )
29+ await clickWhenReady ( nextButton )
30+ await clickWhenReady ( nextButton )
31+ await clickWhenReady ( nextButton )
32+ await clickWhenReady ( passButton )
33+ await clickWhenReady ( nextButton )
34+ await clickWhenReady ( nextButton )
35+ await clickWhenReady ( nextButton )
2836
2937 // abort game
3038 await page . getByRole ( 'button' , { name : 'Abort Game' } ) . click ( )
0 commit comments