Esempio n. 1
0
        public void DeleteAudioAsync_FailedForDatabaseRemove_ThrowsExceptionWithMessage()
        {
            var audioRepo = Substitute.For <IAudioEntriesRepository>();
            var metaRepo  = Substitute.For <IAudioMetaEntriesRepository>();
            var sut       = new AudioServiceBuilder()
                            .WithAudioEntriesRepo(audioRepo)
                            .WithAudioMetaEntriesRepo(metaRepo)
                            .Build();

            audioRepo.GetAudioIncludingMetaAsync(Guid.Empty, CancellationToken.None)
            .Returns(new Audio());
            audioRepo
            .When(x => x.Remove(Arg.Any <Audio>()))
            .Do(x => throw new Exception());

            Func <Task> actualAction = async() =>
                                       await sut.DeleteAudioAsync(Guid.Empty, CancellationToken.None);

            actualAction.Should().Throw <Exception>();
        }
Esempio n. 2
0
        public async Task DeleteAudioAsync_ForExistingAudio_DeletesAsExpected()
        {
            var audioRepo = Substitute.For <IAudioEntriesRepository>();

            audioRepo.GetById(Arg.Any <Guid>()).Returns(new Audio {
                Path = "Foo/Bar"
            });
            var metaRepo  = Substitute.For <IAudioMetaEntriesRepository>();
            var localRepo = Substitute.For <IAudioLocalRepository>();
            var sut       = new AudioServiceBuilder()
                            .WithAudioEntriesRepo(audioRepo)
                            .WithAudioMetaEntriesRepo(metaRepo)
                            .WithLocalRepo(localRepo)
                            .Build();

            audioRepo.GetAudioIncludingMetaAsync(Guid.Empty, CancellationToken.None)
            .Returns(new Audio());
            await sut.DeleteAudioAsync(Guid.Empty, CancellationToken.None);

            audioRepo.Received().Remove(Arg.Any <Audio>());
            audioRepo.Received().GetById(Arg.Any <Guid>());
            metaRepo.Received().Remove(Arg.Any <AudioMeta>());
        }