diff --git a/backend/src/schema/resolvers/messages.spec.ts b/backend/src/schema/resolvers/messages.spec.ts index bc16c1ef2..bad78a240 100644 --- a/backend/src/schema/resolvers/messages.spec.ts +++ b/backend/src/schema/resolvers/messages.spec.ts @@ -131,13 +131,17 @@ describe('Message', () => { }) describe('room is updated as well', () => { - it('has last message at set', async () => { + it('has last message set', async () => { await expect(query({ query: roomQuery() })).resolves.toMatchObject({ errors: undefined, data: { Room: [ expect.objectContaining({ lastMessageAt: expect.any(String), + lastMessage: expect.objectContaining({ + id: expect.any(String), + content: 'Some nice message to other chatting user', + }) }), ], }, diff --git a/backend/src/schema/types/type/Room.gql b/backend/src/schema/types/type/Room.gql index eb5ed02e5..3f8a22e70 100644 --- a/backend/src/schema/types/type/Room.gql +++ b/backend/src/schema/types/type/Room.gql @@ -17,6 +17,8 @@ type Room { avatar: String! @cypher(statement: "MATCH (this)<-[:CHATS_IN]-(user:User) WHERE NOT user.id = $cypherParams.currentUserId RETURN user.avatar.url") lastMessageAt: String + + lastMessage: Message @cypher(statement: "MATCH (this)<-[:INSIDE]-(message:Message) RETURN message ORDER BY message.createdAt DESC LIMIT 1") } type Mutation {