mirror of
https://github.com/Cameri/nostream.git
synced 2025-09-27 04:46:17 +02:00
test: add UnsubscribeMessageHandler unit tests
This commit is contained in:
30
test/unit/handlers/unsubscribe-message-handler.spec.ts
Normal file
30
test/unit/handlers/unsubscribe-message-handler.spec.ts
Normal 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')
|
||||
})
|
||||
})
|
||||
})
|
Reference in New Issue
Block a user