public void LeaveGame_WhenUserIsГuest_ShouldUpdateGameState() { Game updatedGame = new Game(); mock.Setup(g => g.Users.GetAll()).Returns(new User[] { new User { Id = 2, Nickname = "creatorNickname", Username = "******", SessionKey = "10043IOvy7N9Bn9BDAk2mtT7ZcYKtZbBpdp00ZoIpJikyIJtef", }, }.AsQueryable()); mock.Setup(g => g.Games.GetById(It.IsAny<int>())).Returns( new Game() { Password = null, GameStatus = "Full", RedUserId = 1, Winner = new User(), BlueUserId = 2, BlueUser = new User(), }); mock.Setup(u => u.Games.Update(It.IsAny<Game>())).Callback((Game game) => updatedGame = game); GameService gameSerivce = new GameService(mock.Object); gameSerivce.LeaveGame(1, "10043IOvy7N9Bn9BDAk2mtT7ZcYKtZbBpdp00ZoIpJikyIJtef"); Assert.AreEqual("Open", updatedGame.GameStatus); Assert.IsNull(updatedGame.BlueUser); }
public void LeaveGame_WhenUserIsCreator_ShouldNotUpdateGameState() { Game updatedGame = new Game(); mock.Setup(g => g.Users.GetAll()).Returns(new User[] { new User { Id = 1, Nickname = "creatorNickname", Username = "******", SessionKey = "10043IOvy7N9Bn9BDAk2mtT7ZcYKtZbBpdp00ZoIpJikyIJtef", }, }.AsQueryable()); mock.Setup(g => g.Games.GetById(It.IsAny<int>())).Returns( new Game() { Password = null, GameStatus = "Full", RedUserId = 1, Winner = new User(), BlueUserId = 2, }); GameService gameSerivce = new GameService(mock.Object); gameSerivce.LeaveGame(1, "10043IOvy7N9Bn9BDAk2mtT7ZcYKtZbBpdp00ZoIpJikyIJtef"); mock.Verify(u => u.Games.Update(It.IsAny<Game>()), Times.Never()); }