@@ -152,7 +152,8 @@ describe("worker/browser-env/runner/test-runner", () => {
152152
153153 const mkSocket_ = ( ) : WorkerViteSocket => {
154154 const socket = new EventEmitter ( ) as unknown as WorkerViteSocket ;
155- socket . emitWithAck = sandbox . stub ( ) . resolves ( [ null ] ) ;
155+ socket . emitWithAck = sandbox . stub ( ) . onFirstCall ( ) . resolves ( null ) . onSecondCall ( ) . resolves ( [ null ] ) ;
156+
156157 socket . timeout = sandbox . stub ( ) . returnsThis ( ) ;
157158
158159 sinon . spy ( socket , "on" ) ;
@@ -362,7 +363,7 @@ describe("worker/browser-env/runner/test-runner", () => {
362363 ...runOpts ,
363364 } ) ;
364365
365- assert . calledWith ( socket . emit as SinonStub , WorkerEventNames . initialize , {
366+ assert . calledWith ( socket . emitWithAck as SinonStub , WorkerEventNames . initialize , {
366367 file,
367368 sessionId : runOpts . sessionId ,
368369 capabilities : runOpts . sessionCaps ,
@@ -373,6 +374,19 @@ describe("worker/browser-env/runner/test-runner", () => {
373374 } ) ;
374375 } ) ;
375376
377+ it ( "should throw if master return error" , async ( ) => {
378+ const socket = mkSocket_ ( ) ;
379+ const err = new Error ( "o.O" ) ;
380+ ( socket . emitWithAck as SinonStub ) . onFirstCall ( ) . resolves ( err ) ;
381+ socketClientStub . returns ( socket ) ;
382+
383+ const runner = mkRunner_ ( { file : "/some/file" } ) ;
384+ const browser = mkBrowser_ ( ) ;
385+ ( BrowserAgent . prototype . getBrowser as SinonStub ) . resolves ( browser ) ;
386+
387+ await assert . isRejected ( run_ ( { runner } ) , / o .O / ) ;
388+ } ) ;
389+
376390 it ( `should emit before open url` , async ( ) => {
377391 const socket = mkSocket_ ( ) ;
378392 socketClientStub . returns ( socket ) ;
@@ -386,7 +400,7 @@ describe("worker/browser-env/runner/test-runner", () => {
386400 await runWithEmitBrowserInit ( socket , { runner } ) ;
387401
388402 assert . callOrder (
389- ( socket . emit as SinonStub ) . withArgs ( WorkerEventNames . initialize , sinon . match . any ) ,
403+ ( socket . emitWithAck as SinonStub ) . withArgs ( WorkerEventNames . initialize , sinon . match . any ) ,
390404 browser . publicAPI . url as SinonStub ,
391405 ) ;
392406 } ) ;
@@ -425,8 +439,6 @@ describe("worker/browser-env/runner/test-runner", () => {
425439 const promise = run_ ( ) ;
426440 await clock . tickAsync ( 1 ) ;
427441 socket . emit ( BrowserEventNames . initialize , [ ] ) ;
428-
429- await clock . tickAsync ( 1 ) ;
430442 socket . emit ( BrowserEventNames . reconnect ) ;
431443
432444 await clock . runToLastAsync ( ) ;
@@ -447,8 +459,6 @@ describe("worker/browser-env/runner/test-runner", () => {
447459 const promise = run_ ( ) ;
448460 await clock . tickAsync ( 1 ) ;
449461 socket . emit ( BrowserEventNames . initialize , [ ] ) ;
450-
451- await clock . tickAsync ( 1 ) ;
452462 socket . emit ( BrowserEventNames . reconnect ) ;
453463 socket . emit ( BrowserEventNames . initialize , [ error ] ) ;
454464
0 commit comments