@@ -44,6 +44,8 @@ describe('JestTestRun', () => {
44
44
} ) ) ;
45
45
46
46
mockRequest = { } ;
47
+ ( vscode . TestRunRequest as jest . Mocked < any > ) . mockClear ( ) ;
48
+ ( vscode . TestRunRequest as jest . Mocked < any > ) . mockImplementation ( ( ) => mockRequest ) ;
47
49
jestRun = new JestTestRun ( 'test' , mockContext , mockRequest , mockCreateTestRun ) ;
48
50
} ) ;
49
51
@@ -365,10 +367,36 @@ describe('JestTestRun', () => {
365
367
expect ( run1 . end ) . toHaveBeenCalled ( ) ;
366
368
367
369
const newRequest : any = { include : [ 'test1' ] } ;
370
+ ( vscode . TestRunRequest as jest . Mocked < any > ) . mockImplementation ( ( ) => newRequest ) ;
368
371
jestRun . updateRequest ( newRequest ) ;
369
372
jestRun . started ( { } as any ) ;
370
373
expect ( mockCreateTestRun ) . toHaveBeenCalledTimes ( 2 ) ;
371
- expect ( mockCreateTestRun . mock . calls [ 1 ] [ 0 ] ) . toBe ( newRequest ) ;
374
+ expect ( mockCreateTestRun . mock . calls [ 1 ] [ 0 ] ) . toEqual ( newRequest ) ;
375
+ expect ( vscode . TestRunRequest ) . toHaveBeenCalledTimes ( 2 ) ;
376
+ } ) ;
377
+ } ) ;
378
+
379
+ describe ( 'supports continuous test run' , ( ) => {
380
+ it ( 'by start/stop underlying TestRun per continuous run session' , ( ) => {
381
+ jestRun = new JestTestRun ( 'test' , mockContext , mockRequest , mockCreateTestRun ) ;
382
+
383
+ // first run
384
+ jestRun . started ( { } as any ) ;
385
+ expect ( mockCreateTestRun ) . toHaveBeenCalledTimes ( 1 ) ;
386
+ const run1 = mockCreateTestRun . mock . results [ 0 ] . value ;
387
+ expect ( run1 . started ) . toHaveBeenCalled ( ) ;
388
+ jestRun . end ( ) ;
389
+ expect ( run1 . end ) . toHaveBeenCalled ( ) ;
390
+ expect ( vscode . TestRunRequest ) . toHaveBeenCalledTimes ( 1 ) ;
391
+
392
+ // 2nd run
393
+ jestRun . started ( { } as any ) ;
394
+ expect ( mockCreateTestRun ) . toHaveBeenCalledTimes ( 2 ) ;
395
+ const run2 = mockCreateTestRun . mock . results [ 1 ] . value ;
396
+ expect ( run2 . started ) . toHaveBeenCalled ( ) ;
397
+ jestRun . end ( ) ;
398
+ expect ( run2 . end ) . toHaveBeenCalled ( ) ;
399
+ expect ( vscode . TestRunRequest ) . toHaveBeenCalledTimes ( 2 ) ;
372
400
} ) ;
373
401
} ) ;
374
402
describe ( 'cancel' , ( ) => {
0 commit comments