All files getStompClient.ts

100% Statements 12/12
100% Branches 4/4
100% Functions 2/2
100% Lines 12/12

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