public ActionResult Create(Book book) { if (ModelState.IsValid) { db.Books.Add(book); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(book)); }
public void DeleteHistory(Guid id, string userId) { var history = context.Histories.SingleOrDefault(h => h.Id == id && h.UserId == userId); if (history == null) { throw new ArgumentNullException(ErrorMessagesConstants.HISTORY_NOT_FOUND); } context.Histories.Remove(history); context.SaveChanges(); }
public void GetAvailableGames_OpponentHasACreatedGameAndStateIsWaiting_ReturnsGame() { var opponentGame = new Game() { CreationDate = DateTime.Now, Name = "game", Visibility = VisibilityType.Public, State = GameState.WaitingForASecondPlayer, CreatorUserId = user2.Id, HashedPassword = "", }; context.Games.Add(opponentGame); context.SaveChanges(); var gameValidator = new Mock <IGameResultValidator>(); var gameService = new GameService(context, gameValidator.Object); var games = gameService.GetAvailableGames(user.Id); Assert.AreEqual(1, games.Count); Assert.AreEqual(opponentGame.GameId, games.FirstOrDefault().Id); Assert.IsNotNull(games); }
public void CreateScore(Guid gameId, string userId, ScoreStatus status) { var score = new Score() { GameId = gameId, UserId = userId, Status = status }; context.Scores.Add(score); context.SaveChanges(); }
/// <inheritdoc /> public GameStatusViewModel Create(CreateGameBindingModel input, string creatorUserId) { if (string.IsNullOrWhiteSpace(creatorUserId)) { throw new ValidationException(ErrorMessagesConstants.USERID_IS_NULL); } var game = new Game() { Name = input.Name, Visibility = input.Visibility, HashedPassword = input.Password, CreatorUserId = creatorUserId, State = GameState.WaitingForASecondPlayer }; context.Games.Add(game); context.SaveChanges(); return(game.ToGameStatus()); }
public void GetUser_WithRightId_ReturnUser() { /// assert var guidId = Guid.NewGuid().ToString(); var user = new User() { Id = guidId, FirstName = "Name", LastName = "name2", Email = "*****@*****.**", UserName = "******" }; context.Users.Add(user); context.SaveChanges(); /// act var resutUser = this.userService.GetUserDetails(guidId); /// assert Assert.IsNotNull(resutUser); Assert.AreEqual(1, context.Users.Count()); Assert.AreEqual(guidId, resutUser.Id); Assert.AreEqual(user.FirstName, resutUser.FirstName); Assert.AreEqual(user.LastName, resutUser.LastName); }
public void Initialize() { this.context = MockDbContext.GetContext(); var guidId = Guid.NewGuid().ToString(); this.user = new User() { Id = guidId, FirstName = "test", LastName = "test", Email = "*****@*****.**", UserName = "******" }; var guidId2 = Guid.NewGuid().ToString(); this.user2 = new User() { Id = guidId2, FirstName = "test2", LastName = "test2", Email = "*****@*****.**", UserName = "******" }; context.Users.Add(user); context.Users.Add(user2); context.SaveChanges(); }
/// <summary> /// Seed sample data for tests. In real world app it would be better to use sepate data per each tests class. /// This approach was selected in the scope of this project due to the time concerns. /// </summary> /// <param name="context"></param> public static void SeedSampleData(TicTacToeDbContext context) { context.Games.AddRange( new Game { Id = 1, StartDate = new DateTime(2020, 2, 4), CrossPlayerId = "player1", NoughtPlayerId = "player2", Result = Domain.Enums.GameResult.Active, TurnNumber = 0 }, new Game { Id = 2, StartDate = new DateTime(2020, 2, 14), CrossPlayerId = "player2", NoughtPlayerId = "player1", Result = Domain.Enums.GameResult.Draw, TurnNumber = 0 }, new Game { Id = 3, StartDate = new DateTime(2020, 2, 19), CrossPlayerId = "player1", NoughtPlayerId = "player2", Result = Domain.Enums.GameResult.Win, TurnNumber = 0 }, new Game { Id = 4, StartDate = new DateTime(2020, 2, 20), CrossPlayerId = "player2", NoughtPlayerId = "player1", Result = Domain.Enums.GameResult.Loss, TurnNumber = 0 }, new Game { Id = 5, StartDate = new DateTime(2020, 2, 12), CrossPlayerId = "player1", NoughtPlayerId = "player3", Result = Domain.Enums.GameResult.Win, TurnNumber = 3 }, new Game { Id = 6, StartDate = new DateTime(2020, 2, 6), CrossPlayerId = "player2", NoughtPlayerId = "player3", Result = Domain.Enums.GameResult.Active, TurnNumber = 0 }, new Game { Id = 7, StartDate = new DateTime(2020, 2, 5), CrossPlayerId = "currentUserId", NoughtPlayerId = "player1", Result = Domain.Enums.GameResult.Active, TurnNumber = 5 }, new Game { Id = 8, StartDate = new DateTime(2020, 2, 1), CrossPlayerId = "player3", NoughtPlayerId = "player2", Result = Domain.Enums.GameResult.Active, TurnNumber = 6 }, new Game { Id = 9, StartDate = new DateTime(2020, 2, 3), CrossPlayerId = "player3", NoughtPlayerId = "player4", Result = Domain.Enums.GameResult.Active, TurnNumber = 4 }, new Game { Id = 10, StartDate = new DateTime(2020, 2, 3), CrossPlayerId = "player3", NoughtPlayerId = "player4", Result = Domain.Enums.GameResult.Active, TurnNumber = 7 }); context.Tiles.AddRange( new Tile { Id = 10, X = 3, Y = 3 }); context.CrossPlayerGameTiles.AddRange( new CrossPlayerGameTile { GameId = 1, TileId = 10 }, new CrossPlayerGameTile { GameId = 2, TileId = 10 }, new CrossPlayerGameTile { GameId = 1, TileId = 10 }, new CrossPlayerGameTile { GameId = 3, TileId = 10 }, new CrossPlayerGameTile { GameId = 9, TileId = 1 }, new CrossPlayerGameTile { GameId = 9, TileId = 2 }, new CrossPlayerGameTile { GameId = 9, TileId = 3 }, new CrossPlayerGameTile { GameId = 8, TileId = 2 }, new CrossPlayerGameTile { GameId = 8, TileId = 6 }, new CrossPlayerGameTile { GameId = 8, TileId = 4 }, new CrossPlayerGameTile { GameId = 8, TileId = 7 }, new CrossPlayerGameTile { GameId = 10, TileId = 3 }, new CrossPlayerGameTile { GameId = 10, TileId = 5 }, new CrossPlayerGameTile { GameId = 10, TileId = 9 }, new CrossPlayerGameTile { GameId = 10, TileId = 4 }); context.NoughtPlayerGameTiles.AddRange( new NoughtPlayerGameTile { GameId = 1, TileId = 10 }, new NoughtPlayerGameTile { GameId = 2, TileId = 10 }, new NoughtPlayerGameTile { GameId = 3, TileId = 10 }, new NoughtPlayerGameTile { GameId = 4, TileId = 10 }, new NoughtPlayerGameTile { GameId = 9, TileId = 5 }, new NoughtPlayerGameTile { GameId = 9, TileId = 8 }, new NoughtPlayerGameTile { GameId = 8, TileId = 1 }, new NoughtPlayerGameTile { GameId = 8, TileId = 5 }, new NoughtPlayerGameTile { GameId = 8, TileId = 9 }, new NoughtPlayerGameTile { GameId = 10, TileId = 8 }, new NoughtPlayerGameTile { GameId = 10, TileId = 7 }, new NoughtPlayerGameTile { GameId = 10, TileId = 6 }, new NoughtPlayerGameTile { GameId = 10, TileId = 1 }); context.SaveChanges(); }