From 36d499001d9897079a35acd7f5f2cba9d82c726b Mon Sep 17 00:00:00 2001 From: 777genius Date: Mon, 13 Apr 2026 17:19:07 +0300 Subject: [PATCH] test(ci): stabilize stale summary invalidation race --- test/main/services/team/ChangeExtractorService.test.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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