mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-26 01:09:46 +00:00
32 lines
791 B
TypeScript
32 lines
791 B
TypeScript
import { test as base } from '@playwright/test'
|
|
import type { WebSocketRoute } from '@playwright/test'
|
|
|
|
export const webSocketFixture = base.extend<{
|
|
getWebSocket: () => Promise<WebSocketRoute>
|
|
}>({
|
|
getWebSocket: [
|
|
async ({ context }, use) => {
|
|
let latest: WebSocketRoute | undefined
|
|
let resolve: ((ws: WebSocketRoute) => void) | undefined
|
|
|
|
await context.routeWebSocket(/\/ws/, (ws) => {
|
|
const server = ws.connectToServer()
|
|
server.onMessage((message) => {
|
|
ws.send(message)
|
|
})
|
|
|
|
latest = ws
|
|
resolve?.(ws)
|
|
})
|
|
|
|
await use(() => {
|
|
if (latest) return Promise.resolve(latest)
|
|
return new Promise<WebSocketRoute>((r) => {
|
|
resolve = r
|
|
})
|
|
})
|
|
},
|
|
{ auto: true }
|
|
]
|
|
})
|