public async Task DeleteAsyncDeletesOneAudioFile()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;
            var dbContext = new ApplicationDbContext(options);

            var repository = new EfDeletableEntityRepository <AudioFile>(dbContext);
            var service    = new AudioFilesService(repository);

            var bookId = 5;

            var audio1 = new AudioFile
            {
                Title  = "Audio1",
                Url    = "sdsdffsdf1",
                BookId = bookId,
            };

            var audio2 = new AudioFile
            {
                Title  = "Audio2",
                Url    = "sdsdffsdf2",
                BookId = bookId,
            };

            var audio3 = new AudioFile
            {
                Title  = "Audio3",
                Url    = "sdsdffsdf3",
                BookId = bookId,
            };

            await repository.AddAsync(audio1);

            await repository.AddAsync(audio2);

            await repository.AddAsync(audio3);

            await repository.SaveChangesAsync();

            await service.DeleteAsync(audio1.Id);

            var expectedCount = 2;
            var actualCount   = repository.All().Count();

            Assert.Equal(expectedCount, actualCount);
        }
        public async Task DeleteAsyncDeletesTheRightFile()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;
            var dbContext = new ApplicationDbContext(options);

            var repository = new EfDeletableEntityRepository <AudioFile>(dbContext);
            var service    = new AudioFilesService(repository);

            var bookId = 5;

            var audio1 = new AudioFile
            {
                Title  = "Audio1",
                Url    = "sdsdffsdf1",
                BookId = bookId,
            };

            var audio2 = new AudioFile
            {
                Title  = "Audio2",
                Url    = "sdsdffsdf2",
                BookId = bookId,
            };

            var audio3 = new AudioFile
            {
                Title  = "Audio3",
                Url    = "sdsdffsdf3",
                BookId = bookId,
            };

            await repository.AddAsync(audio1);

            await repository.AddAsync(audio2);

            await repository.AddAsync(audio3);

            await repository.SaveChangesAsync();

            await service.DeleteAsync(audio1.Id);

            var actualAudioFile = repository.All().Where(x => x.Id == audio1.Id).FirstOrDefault();

            Assert.Null(actualAudioFile);
        }