import { DyFM_SocketEvent } from '@futdevpro/fsm-dynamo/socket'; import { Socket } from 'socket.io'; import { DyNTS_SocketPresence } from '../socket/_models/socket-presence.control-model'; import { DyNTS_SocketServerService_Params } from '../socket/_models/socket-server-service-params.control-model'; import { DyNTS_SocketServerService } from '../socket/_services/socket-server.service'; /** * Mock Socket Server Service for testing purposes * Uses port 0 so the OS assigns a random available port */ export class DyNTS_SocketServer_Mock extends DyNTS_SocketServerService { static getInstance(): DyNTS_SocketServer_Mock { return DyNTS_SocketServer_Mock.getSingletonInstance(); } getServiceParams(): DyNTS_SocketServerService_Params { return new DyNTS_SocketServerService_Params({ name: 'test', port: 0, }); } getIncomingEvents(): DyFM_SocketEvent[] { return []; } protected async getPresenceFromSubscriptionEventContent( socketSubscription: any, socket: Socket ): Promise { return new DyNTS_SocketPresence({ issuerLocalId: socketSubscription.issuerId, sockets: [ socket ], issuer: 'ISSUER socketServer_Mock', }); } }