34 lines
1.0 KiB
Plaintext
34 lines
1.0 KiB
Plaintext
import { sharedWebSockets, resetWebSockets } from './globals';
|
|
import { WebSocketLike } from './types';
|
|
|
|
const FIRST_URL = 'ws://localhost:1234';
|
|
const SECOND_URL = 'ws://localhost:4321';
|
|
|
|
const websocket1 = {} as WebSocketLike;
|
|
const websocket2 = {} as WebSocketLike;
|
|
|
|
beforeEach(() => {
|
|
resetWebSockets();
|
|
});
|
|
|
|
test('resetWebsockets removes subscribers only for a specific URL', () => {
|
|
sharedWebSockets[FIRST_URL] = websocket1;
|
|
sharedWebSockets[SECOND_URL] = websocket2;
|
|
expect(Object.values(sharedWebSockets)).toHaveLength(2);
|
|
|
|
resetWebSockets(FIRST_URL);
|
|
|
|
expect(sharedWebSockets[FIRST_URL]).toBeUndefined();
|
|
expect(sharedWebSockets[SECOND_URL]).not.toBeUndefined();
|
|
});
|
|
|
|
test('resetWebsockets removes all subscribers when URL is not set', () => {
|
|
sharedWebSockets[FIRST_URL] = websocket1;
|
|
sharedWebSockets[SECOND_URL] = websocket2;
|
|
expect(Object.values(sharedWebSockets)).toHaveLength(2);
|
|
|
|
resetWebSockets();
|
|
|
|
expect(Object.values(sharedWebSockets)).toHaveLength(0);
|
|
});
|