public async Task Should_import_data() { var data1 = CreateData(1); var data2 = CreateData(2); var domainObject = A.Fake <ContentDomainObject>(); A.CallTo(() => serviceProvider.GetService(typeof(ContentDomainObject))) .Returns(domainObject); var command = new CreateContents { Datas = new List <NamedContentData> { data1, data2 } }; var context = new CommandContext(command, commandBus); await sut.HandleAsync(context); var result = context.Result <ImportResult>(); Assert.Equal(2, result.Count); Assert.Equal(2, result.Count(x => x.ContentId.HasValue && x.Exception == null)); A.CallTo(() => domainObject.Setup(A <Guid> .Ignored)) .MustHaveHappenedTwiceExactly(); A.CallTo(() => domainObject.ExecuteAsync(A <CreateContent> .Ignored)) .MustHaveHappenedTwiceExactly(); }
public async Task Should_skip_exception() { var data1 = CreateData(1); var data2 = CreateData(2); var domainObject = A.Fake <ContentDomainObject>(); var exception = new InvalidOperationException(); A.CallTo(() => serviceProvider.GetService(typeof(ContentDomainObject))) .Returns(domainObject); A.CallTo(() => domainObject.ExecuteAsync(A <CreateContent> .That.Matches(x => x.Data == data1))) .Throws(exception); var command = new CreateContents { Datas = new List <NamedContentData> { data1, data2 } }; var context = new CommandContext(command, commandBus); await sut.HandleAsync(context); var result = context.Result <ImportResult>(); Assert.Equal(2, result.Count); Assert.Equal(1, result.Count(x => x.ContentId.HasValue && x.Exception == null)); Assert.Equal(1, result.Count(x => !x.ContentId.HasValue && x.Exception == exception)); }
public async Task Should_do_nothing_if_datas_is_null() { var command = new CreateContents(); var context = new CommandContext(command, commandBus); await sut.HandleAsync(context); Assert.True(context.PlainResult is ImportResult); A.CallTo(() => serviceProvider.GetService(A <Type> .Ignored)) .MustNotHaveHappened(); }