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