test(team): cover advisory snapshot timeout

This commit is contained in:
777genius 2026-05-01 18:43:28 +03:00
parent 44f609ab6a
commit db4a73bda7

View file

@ -4521,27 +4521,20 @@ describe('TeamDataService', () => {
});
it('does not block the team snapshot on slow runtime advisories', async () => {
vi.useFakeTimers();
const deferred = createDeferred<Map<string, unknown>>();
try {
const harness = createGetTeamDataHarness({
resolveMembers: () => [buildResolvedMember('alice')],
getMemberAdvisories: async () => deferred.promise,
});
const harness = createGetTeamDataHarness({
resolveMembers: () => [buildResolvedMember('alice')],
getMemberAdvisories: async () => deferred.promise,
});
const pending = harness.service.getTeamData('my-team');
await vi.advanceTimersByTimeAsync(751);
const data = await pending;
const data = await harness.service.getTeamData('my-team');
expect(harness.advisoryService.getMemberAdvisories).toHaveBeenCalledTimes(1);
expect(data.members).toEqual([expect.objectContaining({ name: 'alice' })]);
expect(data.members[0]?.runtimeAdvisory).toBeUndefined();
expect(harness.advisoryService.getMemberAdvisories).toHaveBeenCalledTimes(1);
expect(data.members).toEqual([expect.objectContaining({ name: 'alice' })]);
expect(data.members[0]?.runtimeAdvisory).toBeUndefined();
deferred.resolve(new Map());
await Promise.resolve();
} finally {
vi.useRealTimers();
}
deferred.resolve(new Map());
await Promise.resolve();
});
it('synthesizes a team lead from team meta when config and members meta have no lead entry', async () => {