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', () => {