All files / util getStompClient.ts

100% Statements 13/13
100% Branches 6/6
100% Functions 2/2
100% Lines 13/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 29 30 31 321x                 1x 20x 20x 40x 40x   20x       20x 19x 15x       20x   20x     1x  
import { Message, Client } from "@stomp/stompjs";
 
interface ClientArgs {
  port: number;
  topic?: string;
  onMessage?: (message: Message) => void;
  endpoint?: string;
}
 
const getStompClient = ({
  port,
  topic,
  onMessage = jest.fn(),
  endpoint = "/websocket"
}: ClientArgs): Client => {
  const client = new Client({
    brokerURL: `ws://localhost:${port}${endpoint}`
  });
 
  if (topic) {
    client.onConnect = () => {
      client.subscribe(topic, onMessage);
    };
  }
 
  client.activate();
 
  return client;
};
 
export default getStompClient;