import { describe, expect, it } from "@suaveplan/testing/runner"; describe("websocket-gateway dep-graph", () => { it("must not have circular dependencies", { timeout: 30000 }, async () => { const mod = await import("../src/index.js"); expect(mod).toBeDefined(); expect(mod.WebSocketGateway).toBeDefined(); expect(mod.WS_GATEWAY_CODES).toBeDefined(); expect(mod.WsGatewayError).toBeDefined(); expect(mod.Room).toBeDefined(); expect(mod.PresenceTracker).toBeDefined(); expect(mod.Channel).toBeDefined(); expect(mod.ChannelManager).toBeDefined(); expect(mod.createMessage).toBeDefined(); expect(mod.handleHealth).toBeDefined(); expect(mod.classifyHealthRequest).toBeDefined(); expect(mod.buildHealthResponse).toBeDefined(); expect(mod.HEALTH_PATHS).toBeDefined(); expect(mod.WebSocketGatewayConfigSchema).toBeDefined(); expect(mod.PresenceWebhookConfigSchema).toBeDefined(); expect(mod.InboundFrameSchema).toBeDefined(); expect(mod.defaultAuthVerifier).toBeDefined(); expect(mod.defaultAuthorizationCheck).toBeDefined(); expect(mod.defaultRateLimitGate).toBeDefined(); expect(mod.defaultAuditLogger).toBeDefined(); expect(mod.resolveConfig).toBeDefined(); expect(mod.createHeartbeat).toBeDefined(); expect(mod.gate).toBeDefined(); expect(mod.audit).toBeDefined(); expect(mod.firePresence).toBeDefined(); expect(mod.deliverPresenceWebhook).toBeDefined(); expect(mod.bootWsServer).toBeDefined(); expect(mod.runAuthHandshake).toBeDefined(); expect(mod.runStart).toBeDefined(); expect(mod.runStop).toBeDefined(); expect(mod.preflightStart).toBeDefined(); expect(mod.recordStartCompleted).toBeDefined(); expect(mod.buildGatewayDepFactories).toBeDefined(); expect(mod.connectClient).toBeDefined(); expect(mod.disconnectClient).toBeDefined(); expect(mod.createRoom).toBeDefined(); expect(mod.deleteRoom).toBeDefined(); expect(mod.joinRoom).toBeDefined(); expect(mod.leaveRoom).toBeDefined(); expect(mod.broadcastToRoom).toBeDefined(); expect(mod.unicast).toBeDefined(); expect(mod.subscribeToChannel).toBeDefined(); expect(mod.unsubscribeFromChannel).toBeDefined(); expect(mod.publishToChannel).toBeDefined(); }); });