test: isolate scheduler startup in server specs

This commit is contained in:
Danny Avila 2026-08-17 11:15:39 -04:00
parent 02c8915833
commit 65f6e14c14
4 changed files with 18 additions and 3 deletions

View file

@ -38,6 +38,10 @@ jest.mock('~/server/services/Agents/triggers', () => ({
initializeAgentTriggerService: jest.fn().mockResolvedValue(undefined),
}));
jest.mock('~/server/services/Schedules', () => ({
initializeScheduleEngine: jest.fn().mockResolvedValue(undefined),
}));
describe('Server metrics route', () => {
jest.setTimeout(30_000);

View file

@ -39,6 +39,10 @@ jest.mock('~/server/services/Agents/triggers', () => ({
initializeAgentTriggerService: jest.fn().mockResolvedValue(undefined),
}));
jest.mock('~/server/services/Schedules', () => ({
initializeScheduleEngine: jest.fn().mockResolvedValue(undefined),
}));
jest.mock(
'@librechat/api/telemetry',
() => ({

View file

@ -66,14 +66,19 @@ describe('schedule trigger context', () => {
it.each([
{ event: { type: 'schedule.occurrence', occurredAt: 1, source: { id: 's', type: 'webhook' } } },
{ event: { type: 'schedule.occurrence', occurredAt: -1, source: { id: 's', type: 'schedule' } } },
{
event: { type: 'schedule.occurrence', occurredAt: -1, source: { id: 's', type: 'schedule' } },
},
{
event: { type: 'schedule.occurrence', occurredAt: 1, source: { id: 's', type: 'schedule' } },
metadata: { manual: 'yes' },
},
])('fails closed for malformed schedule trigger metadata', (agentTrigger) => {
expect(
readScheduleFireContext({ _isAgentTrigger: true, body: { agentTrigger: { version: 1, ...agentTrigger } } }),
readScheduleFireContext({
_isAgentTrigger: true,
body: { agentTrigger: { version: 1, ...agentTrigger } },
}),
).toBeUndefined();
});
});

View file

@ -74,7 +74,9 @@ export function readScheduleFireContext(
* Captures the verified trigger classification once, then projects the minimum
* schedule fields expected by the existing generation lifecycle hooks.
*/
export function captureScheduleFireContext(req: ScheduleTriggerRequest): ScheduleFireContext | undefined {
export function captureScheduleFireContext(
req: ScheduleTriggerRequest,
): ScheduleFireContext | undefined {
const context = readScheduleFireContext(req);
req._isScheduledFire = context != null;
req._isManualScheduledFire = context?.manual === true;