chat / api /test /__mocks__ /fetchEventSource.js
helloya20's picture
Upload 2345 files
f0743f4 verified
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();
}),
}));