test: add UnsubscribeMessageHandler unit tests

This commit is contained in:
Ricardo Arturo Cabral Mejia
2022-10-03 01:47:47 +00:00
parent fa179cb2e8
commit ac5a9d6788

View File

@@ -0,0 +1,30 @@
import { expect } from 'chai'
import Sinon from 'sinon'
import { MessageType, UnsubscribeMessage } from '../../../src/@types/messages'
import { IMessageHandler } from '../../../src/@types/message-handlers'
import { IWebSocketAdapter } from '../../../src/@types/adapters'
import { UnsubscribeMessageHandler } from '../../../src/handlers/unsubscribe-message-handler'
import { WebSocketAdapterEvent } from '../../../src/constants/adapter'
describe('UnsubscribeMessageHandler', () => {
let handler: IMessageHandler
let websocketAdapter: IWebSocketAdapter
let emitStub: Sinon.SinonStub
beforeEach(() => {
emitStub = Sinon.stub()
websocketAdapter = {
emit: emitStub,
} as any
handler = new UnsubscribeMessageHandler(websocketAdapter)
})
describe('handleMessage()', () => {
it('emits unsubscribe event with subscription Id', async () => {
const message: UnsubscribeMessage = [MessageType.CLOSE, 'subscriptionId']
await handler.handleMessage(message)
expect(emitStub).to.have.been.calledOnceWithExactly(WebSocketAdapterEvent.Unsubscribe, 'subscriptionId')
})
})
})