public async Task EditGet_ExistingAudio_ReturnsViewWithModelContainingExpectedAudioId()
        {
            var audio = new AudioBuilder().Build();

            var audioService = Substitute.For <IAudioService>();

            audioService
            .GetAudioAsync(audio.AudioId, Arg.Any <CancellationToken>())
            .Returns(Task.FromResult(audio));

            var authService = Substitute.For <IAuthorizationService>();

            authService
            .AuthorizeAsync(Arg.Any <ClaimsPrincipal>(), audio, Arg.Any <IAuthorizationRequirement[]>())
            .Returns(Task.FromResult(AuthorizationResult.Success()));

            var sut = new AudioControllerBuilder()
                      .WithAudioService(audioService)
                      .WithAuthService(authService)
                      .WithMapper(new MapperBuilder().WithDefaultProfile().Build())
                      .Build();
            var sutView = await sut.Edit(audio.AudioId, CancellationToken.None) as ViewResult;

            var actual = ((AudioViewModel)sutView.Model).AudioId;

            actual.Should().Be(audio.AudioId);
        }
        public async Task EditGet_Forbidden_ReturnsForbiddenHttpCode()
        {
            var audio = new AudioBuilder().Build();

            var audioService = Substitute.For <IAudioService>();

            audioService
            .GetAudioAsync(audio.AudioId, Arg.Any <CancellationToken>())
            .Returns(Task.FromResult(audio));

            var authService = Substitute.For <IAuthorizationService>();

            authService
            .AuthorizeAsync(Arg.Any <ClaimsPrincipal>(), audio, Arg.Any <IAuthorizationRequirement[]>())
            .Returns(Task.FromResult(AuthorizationResult.Failed()));

            var sut = new AudioControllerBuilder()
                      .WithAudioService(audioService)
                      .WithAuthService(authService)
                      .Build();

            var actual = await sut.Edit(audio.AudioId, CancellationToken.None);

            actual.Should().BeOfType <ForbidResult>();
        }
Ejemplo n.º 3
0
        public async Task EntryExistsAsync_ForExistingElement_ReturnsTrue()
        {
            var audio = new AudioBuilder().Build();

            var dbContextMock         = new DbContextMock <ApplicationDbContext>(DummyDbOptions);
            var audioEntriesDbSetMock = dbContextMock.CreateDbSetMock(x => x.AudioEntries, new[] { audio });

            var sut = new SqlAudioEntriesRepository(dbContextMock.Object);

            var actual = await sut.EntryExistsAsync(audio.AudioId, CancellationToken.None);

            actual.Should().BeTrue();
        }
Ejemplo n.º 4
0
        public async Task EntryExistsAsync_ForNonexistentElement_ReturnsFalse()
        {
            var audio = new AudioBuilder().WithId(GuidFactory.MakeFromInt(0)).Build();

            var dbContextMock         = new DbContextMock <ApplicationDbContext>(DummyDbOptions);
            var audioEntriesDbSetMock = dbContextMock.CreateDbSetMock(x => x.AudioEntries, new[] { audio });

            var sut = new SqlAudioEntriesRepository(dbContextMock.Object);

            var actual = await sut.EntryExistsAsync(GuidFactory.MakeFromInt(1), CancellationToken.None);

            actual.Should().BeFalse();
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            // содаем объект распорядителя
            Maker maker = new Maker();

            // создаем билдер для видео
            MediaBuilder mediaBuilder = new VideoBuilder();
            Media        videoMedia   = maker.Make(mediaBuilder);

            Console.WriteLine(videoMedia.ToString());

            // создаем билдер для audio
            mediaBuilder = new AudioBuilder();
            Media audioMedia = maker.Make(mediaBuilder);

            Console.WriteLine(audioMedia.ToString());

            // оздаем билдер для photo
            mediaBuilder = new PhotoBuilder();
            Media photoMedia = maker.Make(mediaBuilder);

            Console.WriteLine(photoMedia.ToString());
        }