示例#1
0
        public async Task <IActionResult> Post([FromBody] BLGame game)
        {
            if (game == null || game.PublisherId <= 0 || game.Name.Length == 0)
            {
                return(BadRequest("Wrong game model"));
            }

            await _gameService.AddAsync(game);

            return(Created("api/games/", game));
        }
示例#2
0
        public async Task Put_IncorrectGame_BadRequest()
        {
            //arrange
            BLGame game = new BLGame {
                Name = "", Description = "Description", PublisherId = 1
            };
            //act
            var result = await _gamesController.Post(game);

            //assert
            Assert.AreEqual(result.GetType(), typeof(BadRequestObjectResult));
        }
示例#3
0
        public async Task Get_IncorrectId_ReturnNotFound404()
        {
            //arrange
            BLGame game = null;

            _gameService.Setup(cs => cs.GetAsync(1)).Returns(Task.FromResult(game));
            //act
            var result = await(_gamesController).Get(1) as NotFoundResult;

            //assert
            _gameService.Verify(cs => cs.GetAsync(1));
            Assert.AreEqual(result.GetType(), typeof(NotFoundResult));
        }
示例#4
0
        public async Task Delete_IncorrectValues_Returns404()
        {
            //arrange
            BLGame game = null;

            _gameService.Setup(cs => cs.GetAsync(111)).Returns(Task.FromResult(game));
            //act
            var result = await _gamesController.Delete(111);

            //assert
            _gameService.Verify(cs => cs.GetAsync(111));
            Assert.AreEqual(result.GetType(), typeof(NotFoundResult));
        }
示例#5
0
        public async Task <IActionResult> Get(int id)
        {
            BLGame game = await _gameService.GetAsync(id);

            if (game?.Name == null)
            {
                return(NotFound());
            }
            else
            {
                return(Ok(AutoMapper.Mapper.Map <BLGame, GameViewModel>(game)));
            }
        }
示例#6
0
        public async Task UpdateAsync_IncorrectGame_ThrowsEx()
        {
            //arrange
            BLGame game = new BLGame()
            {
                Id = 0, Description = "Description", PublisherId = 1, Name = ""
            };

            _gameRepository.Setup(gs => gs.UpdateAsync(It.IsAny <Game>())).Returns(Task.CompletedTask).Verifiable();
            _unitOfWork.Setup(gs => gs.SaveAsync()).Returns(Task.CompletedTask).Verifiable();
            //act
            //assert
            Assert.ThrowsAsync <ArgumentException>(async() => await _gameService.AddAsync(game));
        }
示例#7
0
        public async Task Post_CorrectGame_AddedGame200()
        {
            //arrange
            BLGame game = new BLGame {
                Name = "Name", Description = "Description", PublisherId = 1
            };

            _gameService.Setup(cs => cs.AddAsync(game)).Returns(Task.FromResult(true)).Verifiable();
            //act
            var result = await _gamesController.Post(game) as CreatedResult;

            //assert
            _gameService.Verify(cs => cs.AddAsync(game));
            Assert.AreEqual(result.GetType(), typeof(CreatedResult));
        }
示例#8
0
        public async Task Get_CorrectId_ReturnGame200()
        {
            //arrange
            BLGame game = new BLGame  {
                Id = 1, Name = "Name", Description = "Description", PublisherId = 1
            };

            _gameService.Setup(cs => cs.GetAsync(1)).Returns(Task.FromResult(game));
            //act
            var result = await(_gamesController).Get(1) as OkObjectResult;

            //assert
            _gameService.Verify(cs => cs.GetAsync(1));
            Assert.AreEqual(result.GetType(), typeof(OkObjectResult));
            Assert.AreEqual(result.Value, game);
        }
示例#9
0
        public async Task Delete_CorrectValues_Returns200()
        {
            //arrange
            BLGame game = new BLGame {
                Name = "Name", Description = "Description", PublisherId = 1
            };

            _gameService.Setup(cs => cs.DeleteAsync(1)).Returns(Task.FromResult(true)).Verifiable();
            _gameService.Setup(cs => cs.GetAsync(1)).Returns(Task.FromResult(game));
            //act
            var result = await _gamesController.Delete(1);

            //assert
            _gameService.Verify(cs => cs.DeleteAsync(1));
            _gameService.Verify(cs => cs.GetAsync(1));
            Assert.AreEqual(result.GetType(), typeof(OkResult));
        }
示例#10
0
        public async Task UpdateAsync_CorrectGame_AddToDB()
        {
            //arrange
            BLGame game = new BLGame()
            {
                Id = 1, Description = "Description", PublisherId = 1, Name = "Name"
            };

            _gameRepository.Setup(gs => gs.UpdateAsync(It.IsAny <Game>())).Returns(Task.CompletedTask).Verifiable();
            _unitOfWork.Setup(gs => gs.SaveAsync()).Returns(Task.CompletedTask).Verifiable();
            //act
            await _gameService.UpdateAsync(game);

            //assert
            _gameRepository.Verify(gs => gs.UpdateAsync(It.IsAny <Game>()));
            _unitOfWork.Verify(uow => uow.SaveAsync());
        }
示例#11
0
        public async Task <IActionResult> Put(int id, [FromBody] BLGame game)
        {
            if (id <= 0)
            {
                return(NotFound());
            }
            if (game == null || game.PublisherId <= 0 || game.Name.Length == 0)
            {
                return(NoContent());
            }
            if (game.Id == 0 && id != 0)
            {
                game.Id = id;
            }

            await _gameService.UpdateAsync(game);

            return(Ok());
        }