mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2025-12-21 14:50:26 -08:00
Compare commits
1 Commits
replays_fi
...
more_webat
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
87b60f65c8 |
@@ -1,66 +0,0 @@
|
|||||||
import { Message } from 'types';
|
|
||||||
|
|
||||||
import { RoomPersistence } from '../../persistence';
|
|
||||||
|
|
||||||
import {
|
|
||||||
RoomEvent,
|
|
||||||
JoinRoomData,
|
|
||||||
LeaveRoomData,
|
|
||||||
ListGamesData,
|
|
||||||
} from './interfaces';
|
|
||||||
|
|
||||||
import { RoomEvents } from '.';
|
|
||||||
|
|
||||||
describe.skip('RoomEvents', () => {
|
|
||||||
it('.Event_JoinRoom.ext should call RoomPersistence.userJoined', () => {
|
|
||||||
jest.spyOn(RoomPersistence, 'userJoined').mockImplementation(() => {});
|
|
||||||
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', () => {
|
|
||||||
jest.spyOn(RoomPersistence, 'userLeft').mockImplementation(() => {});
|
|
||||||
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', () => {
|
|
||||||
jest.spyOn(RoomPersistence, 'updateGames').mockImplementation(() => {});
|
|
||||||
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', () => {
|
|
||||||
jest.spyOn(RoomPersistence, 'addMessage').mockImplementation(() => {});
|
|
||||||
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
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -4,10 +4,12 @@ import { joinRoom } from './joinRoom';
|
|||||||
import { leaveRoom } from './leaveRoom';
|
import { leaveRoom } from './leaveRoom';
|
||||||
import { listGames } from './listGames';
|
import { listGames } from './listGames';
|
||||||
import { roomSay } from './roomSay';
|
import { roomSay } from './roomSay';
|
||||||
|
import { removeMessages } from './removeMessage';
|
||||||
|
|
||||||
export const RoomEvents: ProtobufEvents = {
|
export const RoomEvents: ProtobufEvents = {
|
||||||
'.Event_JoinRoom.ext': joinRoom,
|
'.Event_JoinRoom.ext': joinRoom,
|
||||||
'.Event_LeaveRoom.ext': leaveRoom,
|
'.Event_LeaveRoom.ext': leaveRoom,
|
||||||
'.Event_ListGames.ext': listGames,
|
'.Event_ListGames.ext': listGames,
|
||||||
'.Event_RoomSay.ext': roomSay,
|
'.Event_RoomSay.ext': roomSay,
|
||||||
|
'.Event_RemoveMessages.ext': removeMessages,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -17,3 +17,8 @@ export interface LeaveRoomData {
|
|||||||
export interface ListGamesData {
|
export interface ListGamesData {
|
||||||
gameList: Game[];
|
gameList: Game[];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface RemoveMessagesData {
|
||||||
|
amount: number;
|
||||||
|
name: string;
|
||||||
|
}
|
||||||
|
|||||||
7
webclient/src/websocket/events/room/removeMessage.ts
Normal file
7
webclient/src/websocket/events/room/removeMessage.ts
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import { RoomPersistence } from '../../persistence';
|
||||||
|
import { RemoveMessagesData, RoomEvent } from './interfaces';
|
||||||
|
|
||||||
|
export function removeMessages({ name }: RemoveMessagesData, { roomEvent }: RoomEvent) {
|
||||||
|
const { roomId } = roomEvent;
|
||||||
|
RoomPersistence.removeMessages(roomId, name);
|
||||||
|
}
|
||||||
@@ -48,4 +48,8 @@ export class RoomPersistence {
|
|||||||
static userLeft(roomId: number, name: string) {
|
static userLeft(roomId: number, name: string) {
|
||||||
RoomsDispatch.userLeft(roomId, name);
|
RoomsDispatch.userLeft(roomId, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static removeMessages(roomId: number, name: string) {
|
||||||
|
console.log('removeMessages for ' + name + ' in room ' + roomId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user