Ejemplo n.º 1
0
        public async Task AddAsyncWhenCharacterIsNull()
        {
            var characterRepository = Substitute.For <ICharacterRepository>();

            var characterService = new CharacterService(characterRepository);
            await characterService.AddAsync(null);

            await characterRepository.Received().AddAsync(null);
        }
        public async Task AddAsync_AddsCharacter_WhenCharacterAdded()
        {
            //ARRANGE
            var game = new Game {
                Name = "Test"
            };
            var specificCharacterName = Guid.NewGuid().ToString();

            fixture.Context.Add(game);
            fixture.Context.SaveChanges();
            var currentCount = await fixture.Context.Characters.CountAsync();

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

            var character = new CharacterDto
            {
                Name      = specificCharacterName,
                GameId    = game.Id,
                IconImage = new ImageDto
                {
                    File = new byte[0]
                }
            };

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

            //ASSERT
            var existingCharacter = await fixture.Context.Characters.SingleOrDefaultAsync(g => g.Name == specificCharacterName);

            Assert.NotNull(existingCharacter);
            Assert.NotNull(existingCharacter.IconImage);
            Assert.Equal(existingCharacter.Id, result);
            Assert.Equal(currentCount + 1, await fixture.Context.Characters.CountAsync());
            Assert.Equal(imageCount + 1, await fixture.Context.Images.CountAsync());
        }
Ejemplo n.º 3
0
        public async Task AddAsyncWhenCharacterIsNotNull()
        {
            var character = new Character
            {
                Id       = Guid.NewGuid(),
                HouseId  = "3824jgdjdg",
                Name     = "HP",
                Patronus = "Cachorro",
                Role     = "Estudante",
                School   = "Hogwarts"
            };

            var characterRepository = Substitute.For <ICharacterRepository>();

            var characterService = new CharacterService(characterRepository);
            await characterService.AddAsync(character);

            await characterRepository.Received().AddAsync(character);
        }