test(team): cover advisory snapshot timeout
This commit is contained in:
parent
44f609ab6a
commit
db4a73bda7
1 changed files with 10 additions and 17 deletions
|
|
@ -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 () => {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue