コード例 #1
0
        public async Task AddAsync_AddsGame_WhenGameAdded()
        {
            //ARRANGE
            var specificGameName = Guid.NewGuid().ToString();
            var count            = await fixture.Context.Games.CountAsync();

            var imageCount = await fixture.Context.Images.CountAsync();

            var gameDto = new GameDto
            {
                Name     = specificGameName,
                GameLogo = new ImageDto
                {
                    File = new byte[0]
                }
            };

            //ACT
            var result = await service.AddAsync(gameDto);

            //ASSERT
            var game = await fixture.Context.Games.SingleOrDefaultAsync(g => g.Name == specificGameName);

            Assert.Equal(count + 1, await fixture.Context.Games.CountAsync());
            Assert.Equal(imageCount + 1, await fixture.Context.Images.CountAsync());
            Assert.NotNull(game);
            Assert.NotNull(game.GameLogo);
            Assert.Equal(game.Id, result);
        }
コード例 #2
0
        public async Task <ActionResult <Game> > Post([FromBody] Game game)
        {
            game.Borrowed = false;
            var inserted = await _gameService.AddAsync(game);

            return(CreatedAtRoute("Get", new { id = game.Id }, game));
        }
コード例 #3
0
        public async Task AddAsync_CorrectGame_AddToDB()
        {
            //arrange
            BLGame game = new BLGame()
            {
                Description = "Description", PublisherId = 1, Name = "Name"
            };

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

            //assert
            _gameRepository.Verify(gs => gs.InsertAsync(It.IsAny <Game>()));
            _unitOfWork.Verify(uow => uow.SaveAsync());
        }