Exemplo n.º 1
0
        public async Task DeleteAsyncShouldWorkCorrectly()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;

            using var db = new ApplicationDbContext(options);

            var trophyRepository = new EfDeletableEntityRepository <Trophy>(db);

            var service = new TrophiesService(null, trophyRepository);

            await trophyRepository.AddAsync(new Trophy { Id = 1 });

            await trophyRepository.AddAsync(new Trophy { Id = 2 });

            await trophyRepository.AddAsync(new Trophy { Id = 3 });

            await trophyRepository.SaveChangesAsync();

            Assert.Equal(3, service.GetCount());

            await service.DeleteAsync(1);

            await trophyRepository.SaveChangesAsync();

            Assert.Equal(2, service.GetCount());

            await service.DeleteAsync(2);

            await trophyRepository.SaveChangesAsync();

            Assert.Equal(1, service.GetCount());
        }