mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-10 00:04:48 -07:00
* add unit tests for websocket events * add unit tests for KeepAliveService, clean up keepAlive termination flow * put keepAlive command in protobuf service and expose thru webClient * secure wss * rename files tsx to ts * add localhost support for ws/wss connection Co-authored-by: Jeremy Letto <jeremy.letto@datasite.com>
64 lines
No EOL
1.8 KiB
TypeScript
64 lines
No EOL
1.8 KiB
TypeScript
import { Message } from 'types';
|
|
|
|
import {
|
|
RoomEvents,
|
|
RoomEvent,
|
|
JoinRoomData,
|
|
LeaveRoomData,
|
|
ListGamesData,
|
|
} from './RoomEvents';
|
|
import { RoomPersistence } from '../persistence/RoomPersistence';
|
|
|
|
describe('RoomEvents', () => {
|
|
it('.Event_JoinRoom.ext should call RoomPersistence.userJoined', () => {
|
|
spyOn(RoomPersistence, 'userJoined');
|
|
const data: JoinRoomData = { userInfo: {} as any };
|
|
const event: RoomEvent = { roomEvent: { roomId: 1 } };
|
|
|
|
RoomEvents['.Event_JoinRoom.ext'](data, event);
|
|
|
|
expect(RoomPersistence.userJoined).toHaveBeenCalledWith(
|
|
event.roomEvent.roomId,
|
|
data.userInfo
|
|
);
|
|
});
|
|
|
|
it('.Event_LeaveRoom.ext should call RoomPersistence.userLeft', () => {
|
|
spyOn(RoomPersistence, 'userLeft');
|
|
const data: LeaveRoomData = { name: '' };
|
|
const event: RoomEvent = { roomEvent: { roomId: 1 } };
|
|
|
|
RoomEvents['.Event_LeaveRoom.ext'](data, event);
|
|
|
|
expect(RoomPersistence.userLeft).toHaveBeenCalledWith(
|
|
event.roomEvent.roomId,
|
|
data.name
|
|
);
|
|
});
|
|
|
|
it('.Event_ListGames.ext should call RoomPersistence.updateGames', () => {
|
|
spyOn(RoomPersistence, 'updateGames');
|
|
const data: ListGamesData = { gameList: [] };
|
|
const event: RoomEvent = { roomEvent: { roomId: 1 } };
|
|
|
|
RoomEvents['.Event_ListGames.ext'](data, event);
|
|
|
|
expect(RoomPersistence.updateGames).toHaveBeenCalledWith(
|
|
event.roomEvent.roomId,
|
|
data.gameList
|
|
);
|
|
});
|
|
|
|
it('.Event_RoomSay.ext should call RoomPersistence.addMessage', () => {
|
|
spyOn(RoomPersistence, 'addMessage');
|
|
const data: Message = {} as any;
|
|
const event: RoomEvent = { roomEvent: { roomId: 1 } };
|
|
|
|
RoomEvents['.Event_RoomSay.ext'](data, event);
|
|
|
|
expect(RoomPersistence.addMessage).toHaveBeenCalledWith(
|
|
event.roomEvent.roomId,
|
|
data
|
|
);
|
|
});
|
|
}); |