public async Task <CUDMessage> AddGame(string playerName, string gameName) { // check if player exists Player player = await playerService.Get(playerName); if (player is null) { return(new CUDMessage() { OK = false, NumAffected = 0, Message = $"Player {playerName} does not exist.", }); } // check if player has already owned the game if (player.Games.Exists(ele => ele == gameName)) { return(new CUDMessage() { OK = false, NumAffected = 0, Message = $"Player {player.DBName} already owns the Game {gameName}.", }); } // begin adding the game to player CUDMessage message = await playerService.AddGame(playerName, gameName); if (!message.OK) { Console.WriteLine(message.Message); message.Message = $"Failed to add game {gameName} to player {playerName}. See logs for details."; } else { message.Message = $"Successfully added game {gameName} to player {playerName}."; } return(message); }
public async void TestAddGame(Player newPlayer, string aGame, List <string> moreGames) { // Add a player CUDMessage addMessage = await playerService.Add(newPlayer); Assert.True(addMessage.OK); // Add a game CUDMessage addGameMessage = await playerService.AddGame(newPlayer.DBName, aGame); Assert.True(addGameMessage.OK); // Add more games addGameMessage = await playerService.AddGame(newPlayer.DBName, moreGames); Assert.True(addGameMessage.OK); // Game item check Player playerInDB = await playerService.Get(newPlayer.DBName); // Last game item should be the same as the last added game item in "moreGames" Assert.True(playerInDB.Games[moreGames.Count] == moreGames[moreGames.Count - 1]); }