public void Update(ExtendGameDTO gameDto) { var game = GetGameById(gameDto.Id); if (game != null) { if (game.Price != gameDto.Price) { var updateOrderDetails = _unitOfWork.OrderDetails.Get(g => g.Game.Key == gameDto.Key).ToList(); foreach (var orderDetails in updateOrderDetails) { orderDetails.Price = gameDto.Price * orderDetails.Quantity; _unitOfWork.OrderDetails.Update(orderDetails); } } game.Genres.Clear(); game.PlatformTypes.Clear(); game.Genres = _unitOfWork.Genres.Get(genre => gameDto.SelectedGenresName.Contains(genre.NameEn) || gameDto.SelectedGenresName.Contains(genre.NameRu)).ToList(); game.PlatformTypes = _unitOfWork.PlatformTypes .Get(platformType => gameDto.SelectedPlatformTypesName.Contains(platformType.NameEn) || gameDto.SelectedPlatformTypesName.Contains(platformType.NameRu)).ToList(); _unitOfWork.Games.Update(game); game = _mapper.Map <Game>(gameDto); _unitOfWork.Games.Update(game); _unitOfWork.Save(); _log.Info($"{nameof(GameService)} - update game {gameDto.Id}"); } }
public void UpdateGame_Game_UpdateCalled() { var oldFakeGameDTO = new ExtendGameDTO() { Id = _fakeGameId, Key = "123", Price = 55 }; var oldFakeGame = _mapper.Map <Game>(oldFakeGameDTO); var newFakeGameDTO = new ExtendGameDTO() { Id = _fakeGameId, Key = "12", Price = 5 }; var newFakeGame = _mapper.Map <Game>(newFakeGameDTO); var fakeOrderDetail = new OrderDetail(); _uow.Setup(uow => uow.Games.GetById(_fakeGameId)).Returns(oldFakeGame); _uow.Setup(uow => uow.Genres.Get(It.IsAny <Func <Genre, bool> >())).Returns(new List <Genre>()); _uow.Setup(uow => uow.PlatformTypes.Get(It.IsAny <Func <PlatformType, bool> >())) .Returns(new List <PlatformType>()); _uow.Setup(uow => uow.OrderDetails.Get(It.IsAny <Func <OrderDetail, bool> >())) .Returns(new List <OrderDetail>() { fakeOrderDetail }); _uow.Setup(uow => uow.OrderDetails.Update(fakeOrderDetail)); _uow.Setup(uow => uow.Games.Update(newFakeGame)); _sut.Update(newFakeGameDTO); _uow.Verify(uow => uow.Games.Update(It.IsAny <Game>()), Times.Exactly(2)); }
public bool IsUniqueKey(ExtendGameDTO gameExtendGameDto) { var game = _unitOfWork.Games.Get(x => x.Key == gameExtendGameDto.Key).FirstOrDefault(); if (game == null || gameExtendGameDto.Id == game.Id) { return(true); } return(false); }
public void IsUniqueKey_NotUniqueKey_False() { var game = new ExtendGameDTO() { Id = Guid.NewGuid(), Key = _fakeGameKey }; _uow.Setup(uow => uow.Games.Get(It.IsAny <Func <Game, bool> >())).Returns(_fakeGames); var res = _sut.IsUniqueKey(game); Assert.False(res); }
public void Get_Gamekey_GetByKeyCalled() { var fakeGame = new ExtendGameDTO() { Id = Guid.NewGuid(), Key = _fakeGameKey, NameEn = "test" }; _gameService.Setup(service => service.GetByKey(_fakeGameKey)).Returns(fakeGame); _sut.GetGame(_fakeGameKey); _gameService.Verify(s => s.GetByKey(It.IsAny <string>()), Times.Once); }
public void Update_Gamekey_ReturnView() { var fakeGame = new ExtendGameDTO() { Id = Guid.NewGuid(), Key = _fakeGameKey, NameEn = "test" }; _gameService.Setup(service => service.GetByKey(_fakeGameKey)).Returns(fakeGame); _publisherService.Setup(service => service.GetAll()).Returns(new List <PublisherDTO>()); var res = _sut.Update(_fakeGameKey); Assert.IsType <ViewResult>(res); }
public void AddNew(ExtendGameDTO gameDto) { gameDto.Id = Guid.NewGuid(); var newGame = _mapper.Map <Game>(gameDto); newGame.Genres = _unitOfWork.Genres.Get(genre => gameDto.SelectedGenresName.Contains(genre.NameEn) || gameDto.SelectedGenresName.Contains(genre.NameRu)).ToList(); newGame.PlatformTypes = _unitOfWork.PlatformTypes .Get(platformType => gameDto.SelectedPlatformTypesName.Contains(platformType.NameEn) || gameDto.SelectedPlatformTypesName.Contains(platformType.NameRu)).ToList(); newGame.PublishDate = DateTime.UtcNow; _unitOfWork.Games.Create(newGame); _unitOfWork.Save(); _log.Info($"{nameof(GameService)} - add new game {gameDto.Id}"); }
public void AddGameToOrder_GameKeyWhereGameUnitsInStockLessThen1_ReturnedViewResult() { var fakeGameKey = "fakeGameKey"; var fakeGame = new ExtendGameDTO() { Id = Guid.NewGuid(), Key = fakeGameKey, UnitsInStock = 0 }; _gameService.Setup(service => service.GetByKey(fakeGameKey)).Returns(fakeGame); CurrentUser(); var res = _sut.AddGameToOrder(fakeGameKey); Assert.IsType <ViewResult>(res); }
public void AddNewGame_GameWithUniqueKey_CreateCalled() { var fakeGameDTO = new ExtendGameDTO() { Id = Guid.NewGuid(), Key = "qweqwe", NameEn = "1", DescriptionEn = "2" }; var fakeGame = _mapper.Map <Game>(fakeGameDTO); _uow.Setup(uow => uow.Games.Get(It.IsAny <Func <Game, bool> >())).Returns(new List <Game>()); _uow.Setup(uow => uow.Genres.Get(It.IsAny <Func <Genre, bool> >())).Returns(new List <Genre>()); _uow.Setup(uow => uow.PlatformTypes.Get(It.IsAny <Func <PlatformType, bool> >())).Returns(new List <PlatformType>()); _uow.Setup(uow => uow.Games.Create(fakeGame)); _sut.AddNew(fakeGameDTO); _uow.Verify(uow => uow.Games.Create(It.IsAny <Game>()), Times.Once); }
public void AddGameToOrder_GameKeyWhereGameUnitsInStockMorethen1_AddGameToOrderCalled() { var fakeGameKey = "fakeGameKey"; var fakeUserId = Guid.NewGuid(); var fakeGameId = Guid.NewGuid(); var fakeGame = new ExtendGameDTO() { Id = Guid.NewGuid(), Key = fakeGameKey, UnitsInStock = 5 }; _gameService.Setup(service => service.GetByKey(fakeGameKey)).Returns(fakeGame); _ordersService.Setup(service => service.AddNewOrderDetails(fakeUserId, fakeGameId)); CurrentUser(); _sut.AddGameToOrder(fakeGameKey); _ordersService.Verify(s => s.AddNewOrderDetails(It.IsAny <Guid>(), It.IsAny <Guid>()), Times.Once); }