socket.io-mock icon indicating copy to clipboard operation
socket.io-mock copied to clipboard

TypeError: socket_io_mock_1.default is not a constructor

Open Mnigos opened this issue 3 years ago • 1 comments

I tried to create a test but i got error with using socket.io-mock library. I'm using Typescript btw.

room.gateway.spec.ts

import { Test, TestingModule } from '@nestjs/testing'
import { RoomGateway } from './room.gateway'
import { Socket } from 'socket.io'
import SocketMock from 'socket.io-mock'

let socket: Socket

describe('RoomGateway', () => {
  let roomGateway: RoomGateway

  beforeEach(async () => {
    const RoomModule: TestingModule = await Test.createTestingModule({
      providers: [RoomGateway],
    }).compile()

    socket = SocketMock()
    roomGateway = RoomModule.get<RoomGateway>(RoomGateway)
  })

  it('Should be defined', () => {
    expect(roomGateway).toBeDefined()
  })

  it('Should return message that we provide', async () => {
    expect(roomGateway.handleMessage(socket, 'Hello World')).toEqual({
      event: 'message',
      data: 'Hello World',
    })
  })
})

Mnigos avatar Jul 07 '21 11:07 Mnigos

try import * as MockedSocket from "socket.io-mock

gtestault avatar Jan 09 '22 17:01 gtestault