feat: integrate user preferences for online status in WebSocket gateway
- Added `UsersService` to manage user preferences in `EventsGateway`. - Enhanced online/offline broadcasting to respect user `showOnlineStatus` preference. - Updated `handleTyping` and `check_status` to verify user preferences before emitting events. - Abstracted status broadcasting logic into `broadcastStatus`.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { ConfigService } from "@nestjs/config";
|
||||
import { Test, TestingModule } from "@nestjs/testing";
|
||||
import { JwtService } from "../crypto/services/jwt.service";
|
||||
import { UsersService } from "../users/users.service";
|
||||
import { EventsGateway } from "./events.gateway";
|
||||
|
||||
describe("EventsGateway", () => {
|
||||
@@ -15,12 +16,17 @@ describe("EventsGateway", () => {
|
||||
get: jest.fn().mockReturnValue("secret-password-32-chars-long-!!!"),
|
||||
};
|
||||
|
||||
const mockUsersService = {
|
||||
findOne: jest.fn(),
|
||||
};
|
||||
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
providers: [
|
||||
EventsGateway,
|
||||
{ provide: JwtService, useValue: mockJwtService },
|
||||
{ provide: ConfigService, useValue: mockConfigService },
|
||||
{ provide: UsersService, useValue: mockUsersService },
|
||||
],
|
||||
}).compile();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user