LibreChat/api/test/__mocks__/fetchEventSource.js

28 lines
924 B
JavaScript
Raw Normal View History

jest.mock('@waylaidwanderer/fetch-event-source', () => ({
fetchEventSource: jest
.fn()
.mockImplementation((url, { onopen, onmessage, onclose, onerror, error }) => {
// Simulating the onopen event
onopen && onopen({ status: 200 });
// Simulating a few onmessage events
onmessage &&
onmessage({ data: JSON.stringify({ message: 'First message' }), event: 'message' });
onmessage &&
onmessage({ data: JSON.stringify({ message: 'Second message' }), event: 'message' });
onmessage &&
onmessage({ data: JSON.stringify({ message: 'Third message' }), event: 'message' });
// Simulate the onclose event
onclose && onclose();
if (error) {
// Simulate the onerror event
onerror && onerror({ status: 500 });
}
// Return a Promise that resolves to simulate async behavior
return Promise.resolve();
}),
}));