correctly 404 invalid games

This commit is contained in:
AlecM33
2022-11-06 17:09:46 -05:00
parent 235db69a79
commit 9c6dfaaca5
3 changed files with 15 additions and 16 deletions

View File

@@ -317,9 +317,7 @@ class GameManager {
namespace.in(game.accessCode).emit(globals.EVENT_IDS.START_GAME); namespace.in(game.accessCode).emit(globals.EVENT_IDS.START_GAME);
}; };
handleRequestForGameState = async (namespace, logger, gameRunner, accessCode, personCookie, ackFn, clientSocket) => { handleRequestForGameState = async (game, namespace, logger, gameRunner, accessCode, personCookie, ackFn, clientSocket) => {
const game = gameRunner.activeGames.get(accessCode);
if (game) {
const matchingPerson = findPersonByField(game, 'cookie', personCookie); const matchingPerson = findPersonByField(game, 'cookie', personCookie);
if (matchingPerson) { if (matchingPerson) {
if (matchingPerson.socketId === clientSocket.id) { if (matchingPerson.socketId === clientSocket.id) {
@@ -334,10 +332,6 @@ class GameManager {
} else { } else {
rejectClientRequestForGameState(ackFn); rejectClientRequestForGameState(ackFn);
} }
} else {
rejectClientRequestForGameState(ackFn);
logger.trace('the game ' + accessCode + ' was not found');
}
}; };
removeClientFromLobbyIfApplicable (socket) { removeClientFromLobbyIfApplicable (socket) {

View File

@@ -51,6 +51,7 @@ class SocketManager {
switch (eventId) { switch (eventId) {
case EVENT_IDS.FETCH_GAME_STATE: case EVENT_IDS.FETCH_GAME_STATE:
await gameManager.handleRequestForGameState( await gameManager.handleRequestForGameState(
game,
this.namespace, this.namespace,
this.logger, this.logger,
gameManager.activeGameRunner, gameManager.activeGameRunner,
@@ -94,6 +95,8 @@ class SocketManager {
default: default:
break; break;
} }
} else {
ackFn(null);
} }
}); });
}; };

View File

@@ -192,6 +192,7 @@ describe('GameManager', () => {
player.socketId = 'socket1'; player.socketId = 'socket1';
spyOn(namespace.in(), 'emit'); spyOn(namespace.in(), 'emit');
gameManager.handleRequestForGameState( gameManager.handleRequestForGameState(
gameRunner.activeGames.get('abc'),
namespace, namespace,
logger, logger,
gameRunner, gameRunner,
@@ -212,6 +213,7 @@ describe('GameManager', () => {
player.socketId = 'socket_111111'; player.socketId = 'socket_111111';
spyOn(namespace.in(), 'emit'); spyOn(namespace.in(), 'emit');
gameManager.handleRequestForGameState( gameManager.handleRequestForGameState(
gameRunner.activeGames.get('abc'),
namespace, namespace,
logger, logger,
gameRunner, gameRunner,