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>(); }
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(); }
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(); }
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()); }