feat: add read receipt handling based on user preferences
- Integrated `UsersService` into `MessagesService` for retrieving user preferences. - Updated `markAsRead` functionality to respect `showReadReceipts` preference. - Enhanced real-time read receipt notifications via `EventsGateway`. - Added `markAsRead` method to the frontend message service.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { ForbiddenException } from "@nestjs/common";
|
||||
import { Test, TestingModule } from "@nestjs/testing";
|
||||
import { EventsGateway } from "../realtime/events.gateway";
|
||||
import { UsersService } from "../users/users.service";
|
||||
import { MessagesService } from "./messages.service";
|
||||
import { MessagesRepository } from "./repositories/messages.repository";
|
||||
|
||||
@@ -16,6 +17,7 @@ describe("MessagesService", () => {
|
||||
createMessage: jest.fn(),
|
||||
findAllConversations: jest.fn(),
|
||||
isParticipant: jest.fn(),
|
||||
getParticipants: jest.fn(),
|
||||
findMessagesByConversationId: jest.fn(),
|
||||
markAsRead: jest.fn(),
|
||||
countUnreadMessages: jest.fn(),
|
||||
@@ -25,12 +27,17 @@ describe("MessagesService", () => {
|
||||
sendToUser: jest.fn(),
|
||||
};
|
||||
|
||||
const mockUsersService = {
|
||||
findOne: jest.fn(),
|
||||
};
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
providers: [
|
||||
MessagesService,
|
||||
{ provide: MessagesRepository, useValue: mockMessagesRepository },
|
||||
{ provide: EventsGateway, useValue: mockEventsGateway },
|
||||
{ provide: UsersService, useValue: mockUsersService },
|
||||
],
|
||||
}).compile();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user