@@ -160,21 +160,36 @@ test('broadcasts messages across runtimes', async ({
160160 await pageOne . evaluate ( ( ) => {
161161 window . ws . send ( 'hi from one' )
162162 } )
163- expect ( await pageOne . evaluate ( ( ) => window . messages ) ) . toEqual ( [ 'hi from one' ] )
164- expect ( await pageTwo . evaluate ( ( ) => window . messages ) ) . toEqual ( [ 'hi from one' ] )
163+
164+ {
165+ await pageOne . waitForFunction ( ( ) => window . messages . length === 1 )
166+ await expect ( pageOne . evaluate ( ( ) => window . messages ) ) . resolves . toEqual ( [
167+ 'hi from one' ,
168+ ] )
169+
170+ await pageTwo . waitForFunction ( ( ) => window . messages . length === 1 )
171+ await expect ( pageTwo . evaluate ( ( ) => window . messages ) ) . resolves . toEqual ( [
172+ 'hi from one' ,
173+ ] )
174+ }
165175
166176 await pageTwo . evaluate ( ( ) => {
167177 window . ws . send ( 'hi from two' )
168178 } )
169179
170- expect ( await pageTwo . evaluate ( ( ) => window . messages ) ) . toEqual ( [
171- 'hi from one' ,
172- 'hi from two' ,
173- ] )
174- expect ( await pageOne . evaluate ( ( ) => window . messages ) ) . toEqual ( [
175- 'hi from one' ,
176- 'hi from two' ,
177- ] )
180+ {
181+ await pageTwo . waitForFunction ( ( ) => window . messages . length === 2 )
182+ await expect ( pageTwo . evaluate ( ( ) => window . messages ) ) . resolves . toEqual ( [
183+ 'hi from one' ,
184+ 'hi from two' ,
185+ ] )
186+
187+ await pageOne . waitForFunction ( ( ) => window . messages . length === 2 )
188+ await expect ( pageOne . evaluate ( ( ) => window . messages ) ) . resolves . toEqual ( [
189+ 'hi from one' ,
190+ 'hi from two' ,
191+ ] )
192+ }
178193} )
179194
180195test ( 'clears the list of clients when the worker is stopped' , async ( {
@@ -194,7 +209,7 @@ test('clears the list of clients when the worker is stopped', async ({
194209 await worker . start ( )
195210 } )
196211
197- expect ( await page . evaluate ( ( ) => window . link . clients . size ) ) . toBe ( 0 )
212+ await expect ( page . evaluate ( ( ) => window . link . clients . size ) ) . resolves . toBe ( 0 )
198213
199214 await page . evaluate ( async ( ) => {
200215 const ws = new WebSocket ( 'wss://example.com' )
@@ -213,7 +228,7 @@ test('clears the list of clients when the worker is stopped', async ({
213228 // Must purge the local storage on reload.
214229 // The worker has been started as a part of the test, not runtime,
215230 // so it will start with empty clients.
216- expect ( await page . evaluate ( ( ) => window . link . clients . size ) ) . toBe ( 0 )
231+ await expect ( page . evaluate ( ( ) => window . link . clients . size ) ) . resolves . toBe ( 0 )
217232} )
218233
219234test ( 'clears the list of clients when the page is reloaded' , async ( {
@@ -237,7 +252,7 @@ test('clears the list of clients when the page is reloaded', async ({
237252
238253 await enableMocking ( )
239254
240- expect ( await page . evaluate ( ( ) => window . link . clients . size ) ) . toBe ( 0 )
255+ await expect ( page . evaluate ( ( ) => window . link . clients . size ) ) . resolves . toBe ( 0 )
241256
242257 await page . evaluate ( async ( ) => {
243258 const ws = new WebSocket ( 'wss://example.com' )
@@ -255,5 +270,5 @@ test('clears the list of clients when the page is reloaded', async ({
255270 // Must purge the local storage on reload.
256271 // The worker has been started as a part of the test, not runtime,
257272 // so it will start with empty clients.
258- expect ( await page . evaluate ( ( ) => window . link . clients . size ) ) . toBe ( 0 )
273+ await expect ( page . evaluate ( ( ) => window . link . clients . size ) ) . resolves . toBe ( 0 )
259274} )
0 commit comments