Skip to content

Commit 84a7a9d

Browse files
committed
add tests
1 parent 9af9644 commit 84a7a9d

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

src/rooms/gateways/rooms.gateway.spec.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import { Test, TestingModule } from '@nestjs/testing';
22
import { RoomsGateway } from './rooms.gateway';
3+
import { Socket } from 'socket.io';
34

45
describe('RoomsGateway', () => {
56
let gateway: RoomsGateway;
7+
let socket: jest.Mocked<Socket>;
68

79
beforeEach(async () => {
810
const module: TestingModule = await Test.createTestingModule({
@@ -12,7 +14,33 @@ describe('RoomsGateway', () => {
1214
gateway = module.get<RoomsGateway>(RoomsGateway);
1315
});
1416

17+
beforeEach(() => {
18+
socket = {
19+
rooms: new Set(),
20+
join: jest.fn().mockImplementation((room) => socket.rooms.add(room)),
21+
leave: jest.fn().mockImplementation((room) => socket.rooms.delete(room)),
22+
} as unknown as jest.Mocked<Socket>;
23+
});
24+
1525
it('should be defined', () => {
1626
expect(gateway).toBeDefined();
1727
});
28+
29+
describe('#join()', () => {
30+
it('should join', () => {
31+
const ret = gateway.join(socket, 'FAKE_ROOM');
32+
expect(ret).toEqual(['FAKE_ROOM']);
33+
});
34+
});
35+
36+
describe('#leave()', () => {
37+
beforeEach(() => {
38+
socket.rooms.add('FAKE_ROOM');
39+
});
40+
41+
it('should leave', () => {
42+
const ret = gateway.leave(socket, 'FAKE_ROOM');
43+
expect(ret).toEqual([]);
44+
});
45+
});
1846
});

0 commit comments

Comments
 (0)