test(ci): stabilize stale summary invalidation race
This commit is contained in:
parent
dd4ce7e9b1
commit
36d499001d
1 changed files with 6 additions and 1 deletions
|
|
@ -634,11 +634,15 @@ describe('ChangeExtractorService', () => {
|
||||||
await writeTaskFile(tmpDir);
|
await writeTaskFile(tmpDir);
|
||||||
|
|
||||||
const first = deferred<ReturnType<typeof makeTaskChangeResult>>();
|
const first = deferred<ReturnType<typeof makeTaskChangeResult>>();
|
||||||
|
const firstStarted = deferred<void>();
|
||||||
const worker = {
|
const worker = {
|
||||||
isAvailable: vi.fn(() => true),
|
isAvailable: vi.fn(() => true),
|
||||||
computeTaskChanges: vi
|
computeTaskChanges: vi
|
||||||
.fn()
|
.fn()
|
||||||
.mockImplementationOnce(() => first.promise)
|
.mockImplementationOnce(() => {
|
||||||
|
firstStarted.resolve();
|
||||||
|
return first.promise;
|
||||||
|
})
|
||||||
.mockImplementationOnce(async () =>
|
.mockImplementationOnce(async () =>
|
||||||
makeTaskChangeResult(TASK_ID, { filePath: '/repo/src/newer.ts' })
|
makeTaskChangeResult(TASK_ID, { filePath: '/repo/src/newer.ts' })
|
||||||
),
|
),
|
||||||
|
|
@ -649,6 +653,7 @@ describe('ChangeExtractorService', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
const stalePromise = service.getTaskChanges(TEAM_NAME, TASK_ID, SUMMARY_OPTIONS);
|
const stalePromise = service.getTaskChanges(TEAM_NAME, TASK_ID, SUMMARY_OPTIONS);
|
||||||
|
await firstStarted.promise;
|
||||||
await service.invalidateTaskChangeSummaries(TEAM_NAME, [TASK_ID], { deletePersisted: true });
|
await service.invalidateTaskChangeSummaries(TEAM_NAME, [TASK_ID], { deletePersisted: true });
|
||||||
const freshPromise = service.getTaskChanges(TEAM_NAME, TASK_ID, SUMMARY_OPTIONS);
|
const freshPromise = service.getTaskChanges(TEAM_NAME, TASK_ID, SUMMARY_OPTIONS);
|
||||||
// Flush microtasks so freshPromise advances past its internal awaits
|
// Flush microtasks so freshPromise advances past its internal awaits
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue