Files
standardnotes-server/packages/domain-events-infra/src/Infra/Redis/RedisDomainEventPublisher.spec.ts
Karol Sójko 264fd4c36e chore: upgrade node version to 20.10.0 (#1010)
* chore: upgrade node version to 20.10.0

* fix specs

* fix pip system managed packages
2023-12-28 14:13:07 +01:00

33 lines
927 B
TypeScript

import 'reflect-metadata'
import * as IORedis from 'ioredis'
import { RedisDomainEventPublisher } from './RedisDomainEventPublisher'
import { DomainEventInterface } from '@standardnotes/domain-events'
describe('RedisDomainEventPublisher', () => {
let redisClient: IORedis.Redis
let event: DomainEventInterface
const eventChannel = 'events'
const createPublisher = () => new RedisDomainEventPublisher(redisClient, eventChannel)
beforeEach(() => {
redisClient = {} as jest.Mocked<IORedis.Redis>
redisClient.publish = jest.fn()
event = {} as jest.Mocked<DomainEventInterface>
event.type = 'TEST'
event.payload = { foo: 'bar' }
})
it('should publish an event to a channel', async () => {
await createPublisher().publish(event)
expect(redisClient.publish).toHaveBeenCalledWith(
'events',
'eJyrViqpLEhVslIKcQ0OUdJRKkiszMlPTFGyqlZKy89XslJKSixSqq0FAPbUDIQ=',
)
})
})