Skip to content

Commit a148e2f

Browse files
test: cleanup tests
1 parent c5dce43 commit a148e2f

File tree

1 file changed

+31
-83
lines changed

1 file changed

+31
-83
lines changed

test/index.ts

Lines changed: 31 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { createServer } from "http";
2-
import { Server } from "socket.io";
3-
import { io as ioc } from "socket.io-client";
2+
import { Server, Socket as ServerSocket } from "socket.io";
3+
import { io as ioc, Socket as ClientSocket } from "socket.io-client";
44
import expect = require("expect.js");
55
import { createAdapter } from "..";
66
import type { AddressInfo } from "net";
@@ -11,8 +11,8 @@ import "./util";
1111
const ioredis = require("ioredis").createClient;
1212

1313
let namespace1, namespace2, namespace3;
14-
let client1, client2, client3;
15-
let socket1, socket2, socket3;
14+
let client1: ClientSocket, client2: ClientSocket, client3: ClientSocket;
15+
let socket1: ServerSocket, socket2: ServerSocket, socket3: ServerSocket;
1616

1717
const shouldNotHappen = (done) => () => done(new Error("should not happen"));
1818

@@ -41,34 +41,22 @@ const shouldNotHappen = (done) => () => done(new Error("should not happen"));
4141
done();
4242
});
4343

44-
var buf = Buffer.from("asdfasdf", "utf8");
45-
var array = Uint8Array.of(1, 2, 3, 4);
44+
const buf = Buffer.from("asdfasdf", "utf8");
45+
const array = Uint8Array.of(1, 2, 3, 4);
4646
socket2.broadcast.emit("woot", [], { a: "b" }, buf, array);
4747
});
4848

4949
it("broadcasts to a room", (done) => {
5050
socket1.join("woot");
51-
client2.emit("do broadcast");
51+
socket2.broadcast.to("woot").emit("broadcast");
5252

53-
// does not join, performs broadcast
54-
socket2.on("do broadcast", () => {
55-
socket2.broadcast.to("woot").emit("broadcast");
56-
});
57-
58-
client1.on("broadcast", () => {
59-
setTimeout(done, 100);
60-
});
61-
62-
client2.on("broadcast", () => {
63-
throw new Error("Not in room");
64-
});
65-
66-
client3.on("broadcast", () => {
67-
throw new Error("Not in room");
68-
});
53+
client1.on("broadcast", done);
54+
client2.on("broadcast", shouldNotHappen(done));
55+
client3.on("broadcast", shouldNotHappen(done));
6956
});
7057

7158
it("broadcasts to a numeric room", (done) => {
59+
// @ts-ignore
7260
socket1.join(123);
7361
namespace2.to(123).emit("broadcast");
7462

@@ -79,95 +67,53 @@ const shouldNotHappen = (done) => () => done(new Error("should not happen"));
7967

8068
it("uses a namespace to broadcast to rooms", (done) => {
8169
socket1.join("woot");
82-
client2.emit("do broadcast");
83-
socket2.on("do broadcast", () => {
84-
namespace2.to("woot").emit("broadcast");
85-
});
86-
87-
client1.on("broadcast", () => {
88-
setTimeout(done, 100);
89-
});
90-
91-
client2.on("broadcast", () => {
92-
throw new Error("Not in room");
93-
});
70+
namespace2.to("woot").emit("broadcast");
9471

95-
client3.on("broadcast", () => {
96-
throw new Error("Not in room");
97-
});
72+
client1.on("broadcast", done);
73+
client2.on("broadcast", shouldNotHappen(done));
74+
client3.on("broadcast", shouldNotHappen(done));
9875
});
9976

10077
it("broadcasts to multiple rooms at a time", (done) => {
101-
function test() {
102-
client2.emit("do broadcast");
103-
}
104-
10578
socket1.join(["foo", "bar"]);
106-
client2.emit("do broadcast");
107-
108-
socket2.on("do broadcast", () => {
109-
socket2.broadcast.to("foo").to("bar").emit("broadcast");
110-
});
79+
socket2.broadcast.to("foo").to("bar").emit("broadcast");
11180

11281
let called = false;
11382
client1.on("broadcast", () => {
114-
if (called) return done(new Error("Called more than once"));
83+
if (called) return shouldNotHappen(done);
11584
called = true;
116-
setTimeout(done, 100);
117-
});
118-
119-
client2.on("broadcast", () => {
120-
throw new Error("Not in room");
85+
done();
12186
});
12287

123-
client3.on("broadcast", () => {
124-
throw new Error("Not in room");
125-
});
88+
client2.on("broadcast", shouldNotHappen(done));
89+
client3.on("broadcast", shouldNotHappen(done));
12690
});
12791

12892
it("doesn't broadcast when using the local flag", (done) => {
12993
socket1.join("woot");
13094
socket2.join("woot");
131-
client2.emit("do broadcast");
132-
133-
socket2.on("do broadcast", () => {
134-
namespace2.local.to("woot").emit("local broadcast");
135-
});
95+
namespace2.local.to("woot").emit("local broadcast");
13696

137-
client1.on("local broadcast", () => {
138-
throw new Error("Not in local server");
139-
});
140-
141-
client2.on("local broadcast", () => {
142-
setTimeout(done, 100);
143-
});
144-
145-
client3.on("local broadcast", () => {
146-
throw new Error("Not in local server");
147-
});
97+
client1.on("local broadcast", shouldNotHappen(done));
98+
client2.on("local broadcast", done);
99+
client3.on("local broadcast", shouldNotHappen(done));
148100
});
149101

150102
it("doesn't broadcast to left rooms", (done) => {
151103
socket1.join("woot");
152104
socket1.leave("woot");
105+
socket2.broadcast.to("woot").emit("broadcast");
153106

154-
socket2.on("do broadcast", () => {
155-
socket2.broadcast.to("woot").emit("broadcast");
156-
157-
setTimeout(done, 100);
158-
});
159-
160-
client2.emit("do broadcast");
161-
162-
client1.on("broadcast", () => {
163-
throw new Error("Not in room");
164-
});
107+
client1.on("broadcast", shouldNotHappen(done));
108+
done();
165109
});
166110

167111
it("deletes rooms upon disconnection", (done) => {
168112
socket1.join("woot");
169113
socket1.on("disconnect", () => {
114+
// @ts-ignore
170115
expect(socket1.adapter.sids[socket1.id]).to.be(undefined);
116+
// @ts-ignore
171117
expect(socket1.adapter.rooms).to.be.empty();
172118
client1.disconnect();
173119
done();
@@ -327,6 +273,7 @@ const shouldNotHappen = (done) => () => done(new Error("should not happen"));
327273
describe("fetchSockets", () => {
328274
it("returns all socket instances", async () => {
329275
socket2.data = "test";
276+
// @ts-ignore
330277
socket2.handshake.sessionStore = "not included";
331278

332279
const sockets = await namespace1.fetchSockets();
@@ -340,6 +287,7 @@ const shouldNotHappen = (done) => () => done(new Error("should not happen"));
340287
(socket) => socket.id === socket2.id
341288
);
342289
expect(remoteSocket2 === socket2).to.be(false);
290+
// @ts-ignore
343291
delete socket2.handshake.sessionStore;
344292
expect(remoteSocket2.handshake).to.eql(socket2.handshake);
345293
expect(remoteSocket2.data).to.eql("test");

0 commit comments

Comments
 (0)