From eed89f8c4b292f552a1894b8f2715d35ac04f831 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Tue, 18 Jul 2023 12:46:19 +0200 Subject: [PATCH] add chat middleware to add new message subscription --- backend/src/middleware/chatMiddleware.ts | 3 +++ backend/src/schema/resolvers/messages.spec.ts | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/backend/src/middleware/chatMiddleware.ts b/backend/src/middleware/chatMiddleware.ts index c28d6a70d..8ae252e13 100644 --- a/backend/src/middleware/chatMiddleware.ts +++ b/backend/src/middleware/chatMiddleware.ts @@ -54,4 +54,7 @@ export default { Mutation: { CreateRoom: roomProperties, }, + Subscription: { + chatMessageAdded: messageProperties, + }, } diff --git a/backend/src/schema/resolvers/messages.spec.ts b/backend/src/schema/resolvers/messages.spec.ts index 1679b0c34..83d9fdc6b 100644 --- a/backend/src/schema/resolvers/messages.spec.ts +++ b/backend/src/schema/resolvers/messages.spec.ts @@ -117,7 +117,7 @@ describe('Message', () => { }) describe('user chats in room', () => { - it('returns the message and publishes subscription', async () => { + it('returns the message and publishes subscriptions', async () => { await expect( mutate({ mutation: createMessageMutation(), @@ -146,6 +146,20 @@ describe('Message', () => { roomCountUpdated: '1', userId: 'other-chatting-user', }) + expect(pubsubSpy).toBeCalledWith('CHAT_MESSAGE_ADDED', { + chatMessageAdded: expect.objectContaining({ + id: expect.any(String), + content: 'Some nice message to other chatting user', + senderId: 'chatting-user', + username: 'Chatting User', + avatar: expect.any(String), + date: expect.any(String), + saved: true, + distributed: false, + seen: false, + }), + userId: 'other-chatting-user', + }) }) describe('room is updated as well', () => {