From 61c699381b8bfa24f83408c27f418d6a03800c29 Mon Sep 17 00:00:00 2001 From: robonen Date: Tue, 1 Oct 2024 07:13:09 +0700 Subject: [PATCH] test(packages/stdlib): add pubsub edge case check --- .../src/patterns/behavioral/pubsub/index.test.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/stdlib/src/patterns/behavioral/pubsub/index.test.ts b/packages/stdlib/src/patterns/behavioral/pubsub/index.test.ts index 8a67b57..54ab8fa 100644 --- a/packages/stdlib/src/patterns/behavioral/pubsub/index.test.ts +++ b/packages/stdlib/src/patterns/behavioral/pubsub/index.test.ts @@ -92,4 +92,15 @@ describe('pubsub', () => { expect(result).toBe(false); }); + + it('calls listener only once when the same function is registered multiple times', () => { + const listener = vi.fn(); + + eventBus.on('event1', listener); + eventBus.on('event1', listener); + eventBus.on('event1', listener); + eventBus.emit('event1', 'Hello'); + + expect(listener).toHaveBeenCalledTimes(1); + }); }); \ No newline at end of file