public async Task Update_Hero()
        {
            // Arrange
            int  result;
            Guid?id;

            using (var context = CreateDbContext("Update_Hero"))
            {
                var createdHero = new Hero()
                {
                    Age           = 10,
                    Name          = "Izuku Midoriya",
                    Nickname      = "Deku",
                    Individuality = "All for one",
                    Team          = "Team Midoriya",
                    HeroType      = Domain.Entities.Enums.HeroType.Student
                };
                context.Set <Hero>().Add(createdHero);
                context.Set <Hero>().Add(new Hero()
                {
                    Name = "Another Hero", HeroType = Domain.Entities.Enums.HeroType.Vigilante, Age = 17
                });
                await context.SaveChangesAsync();

                id = createdHero.Id; //receive autogenerated guid to get the entity later
            }

            // Act

            Hero updateHero;

            using (var context = CreateDbContext("Update_Hero"))
            {
                updateHero = await context.Set <Hero>().FirstOrDefaultAsync(x => x.Id == id);

                updateHero.Age           = 15;
                updateHero.Individuality = "Blackwhip";
                updateHero.Team          = null;
                var repository = new HeroRepository(context);
                repository.Update(updateHero);
                result = await repository.SaveChangesAsync();
            }


            // Assert
            result.Should().BeGreaterThan(0);
            result.Should().Be(1);
            // Simulate access from another context to verifiy that correct data was saved to database
            using (var context = CreateDbContext("Update_Hero"))
            {
                (await context.Heroes.FirstAsync(x => x.Id == updateHero.Id)).Should().Be(updateHero);
            }
        }
Exemplo n.º 2
0
 public void Put(Hero hero)
 {
     HeroRepository.Update(hero);
 }
Exemplo n.º 3
0
 public IActionResult put(string id, Hero heroIn)
 {
     _heroRepo.Update(id, heroIn);
     return(Ok("updated"));
 }