diff --git a/webclient/src/websocket/events/room/RoomEvents.spec.ts b/webclient/src/websocket/events/room/RoomEvents.spec.ts deleted file mode 100644 index 2b1ca3add..000000000 --- a/webclient/src/websocket/events/room/RoomEvents.spec.ts +++ /dev/null @@ -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 - ); - }); -}); diff --git a/webclient/src/websocket/events/room/index.ts b/webclient/src/websocket/events/room/index.ts index 0caaf8780..1c6fd647e 100644 --- a/webclient/src/websocket/events/room/index.ts +++ b/webclient/src/websocket/events/room/index.ts @@ -4,10 +4,12 @@ import { joinRoom } from './joinRoom'; import { leaveRoom } from './leaveRoom'; import { listGames } from './listGames'; import { roomSay } from './roomSay'; +import { removeMessages } from './removeMessage'; export const RoomEvents: ProtobufEvents = { '.Event_JoinRoom.ext': joinRoom, '.Event_LeaveRoom.ext': leaveRoom, '.Event_ListGames.ext': listGames, '.Event_RoomSay.ext': roomSay, + '.Event_RemoveMessages.ext': removeMessages, }; diff --git a/webclient/src/websocket/events/room/interfaces.ts b/webclient/src/websocket/events/room/interfaces.ts index 523e5c5f4..424c94717 100644 --- a/webclient/src/websocket/events/room/interfaces.ts +++ b/webclient/src/websocket/events/room/interfaces.ts @@ -17,3 +17,8 @@ export interface LeaveRoomData { export interface ListGamesData { gameList: Game[]; } + +export interface RemoveMessagesData { + amount: number; + name: string; +} diff --git a/webclient/src/websocket/events/room/removeMessage.ts b/webclient/src/websocket/events/room/removeMessage.ts new file mode 100644 index 000000000..5bb2c8c9f --- /dev/null +++ b/webclient/src/websocket/events/room/removeMessage.ts @@ -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); +} diff --git a/webclient/src/websocket/persistence/RoomPersistence.ts b/webclient/src/websocket/persistence/RoomPersistence.ts index 1ea128660..640707571 100644 --- a/webclient/src/websocket/persistence/RoomPersistence.ts +++ b/webclient/src/websocket/persistence/RoomPersistence.ts @@ -48,4 +48,8 @@ export class RoomPersistence { static userLeft(roomId: number, name: string) { RoomsDispatch.userLeft(roomId, name); } + + static removeMessages(roomId: number, name: string) { + console.log('removeMessages for ' + name + ' in room ' + roomId); + } }