diff --git a/test/main/services/team/ChangeExtractorService.test.ts b/test/main/services/team/ChangeExtractorService.test.ts index 728f1575..f7045c35 100644 --- a/test/main/services/team/ChangeExtractorService.test.ts +++ b/test/main/services/team/ChangeExtractorService.test.ts @@ -634,11 +634,15 @@ describe('ChangeExtractorService', () => { await writeTaskFile(tmpDir); const first = deferred>(); + const firstStarted = deferred(); const worker = { isAvailable: vi.fn(() => true), computeTaskChanges: vi .fn() - .mockImplementationOnce(() => first.promise) + .mockImplementationOnce(() => { + firstStarted.resolve(); + return first.promise; + }) .mockImplementationOnce(async () => makeTaskChangeResult(TASK_ID, { filePath: '/repo/src/newer.ts' }) ), @@ -649,6 +653,7 @@ describe('ChangeExtractorService', () => { }); const stalePromise = service.getTaskChanges(TEAM_NAME, TASK_ID, SUMMARY_OPTIONS); + await firstStarted.promise; await service.invalidateTaskChangeSummaries(TEAM_NAME, [TASK_ID], { deletePersisted: true }); const freshPromise = service.getTaskChanges(TEAM_NAME, TASK_ID, SUMMARY_OPTIONS); // Flush microtasks so freshPromise advances past its internal awaits