Files
biblical-guide.com/__tests__/lib/websocket/server.test.ts
Andrei c3a7d59002 feat: set up WebSocket server infrastructure
- Create type definitions for WebSocket messages and client management
- Implement EventEmitter-based WebSocket server with connection handling
- Add message routing and broadcast capabilities for user subscriptions
- Include comprehensive test suite with 4 passing tests
- Support client presence tracking and message queuing

Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-12 08:13:08 +00:00

41 lines
944 B
TypeScript

import { WebSocketServer } from '@/lib/websocket/server'
describe('WebSocketServer', () => {
let server: WebSocketServer
beforeEach(() => {
server = new WebSocketServer(3011)
})
afterEach(() => {
server.close()
})
it('should initialize WebSocket server', () => {
expect(server).toBeDefined()
expect(server.getPort()).toBe(3011)
})
it('should have empty connections on start', () => {
expect(server.getConnectionCount()).toBe(0)
})
it('should emit ready event when started', (done) => {
server.on('ready', () => {
expect(server.isRunning()).toBe(true)
done()
})
server.start()
})
it('should handle client connection', (done) => {
server.on('client-connect', (clientId) => {
expect(clientId).toBeDefined()
expect(server.getConnectionCount()).toBe(1)
done()
})
server.start()
server.handleClientConnect('test-client-1', 'user-1')
})
})