Skip to content

Commit a35440a

Browse files
committed
fix: close
1 parent 5a35aef commit a35440a

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

test/router.test.js

+17-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@ const fastifyWebsocket = require('..')
77
const WebSocket = require('ws')
88
const get = require('node:http').get
99

10+
const withResolvers = function () {
11+
let promiseResolve, promiseReject
12+
const promise = new Promise((resolve, reject) => {
13+
promiseResolve = resolve
14+
promiseReject = reject
15+
})
16+
return { promise, resolve: promiseResolve, reject: promiseReject }
17+
}
18+
1019
test('Should expose a websocket on prefixed route', (t, end) => {
1120
t.plan(4)
1221
const fastify = Fastify()
@@ -473,14 +482,17 @@ test('Should open on registered path', (t, end) => {
473482
})
474483
})
475484

476-
test('Should send message and close', (t, end) => {
485+
test('Should send message and close', (t) => {
477486
t.plan(5)
478487
const fastify = Fastify()
479488

480489
t.after(() => fastify.close())
481490

482491
fastify.register(fastifyWebsocket)
483492

493+
const { promise: clientPromise, resolve: clientResolve } = withResolvers()
494+
const { promise: serverPromise, resolve: serverResolve } = withResolvers()
495+
484496
fastify.register(async function (fastify) {
485497
fastify.get('/', { websocket: true }, (socket) => {
486498
socket.on('message', message => {
@@ -490,7 +502,7 @@ test('Should send message and close', (t, end) => {
490502

491503
socket.on('close', () => {
492504
t.assert.ok(true)
493-
end()
505+
serverResolve()
494506
})
495507

496508
t.after(() => socket.terminate())
@@ -514,8 +526,11 @@ test('Should send message and close', (t, end) => {
514526

515527
ws.on('close', () => {
516528
t.assert.ok(true)
529+
clientResolve()
517530
})
518531
})
532+
533+
return Promise.all([clientPromise, serverPromise])
519534
})
520535

521536
test('Should return 404 on http request', (t, end) => {

0 commit comments

Comments
 (0)