File size: 924 Bytes
f0743f4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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();
    }),
}));