public async Task FromModels_DetailsAreComplete() { // Arrange var models = new[] { GetBlogPost("first"), GetBlogPost("second") }; // Act ILoadLinkDetails details = null; var result = await _sut.LoadLink <BlogPostLinkedSource>().EnableDebugMode(x => details = x).FromModelsAsync(models); // Assert details.CallDetails.Method.Should().Be("FromModelsAsync"); details.CallDetails.Values.Should().Equal(models); details.LinkedSourceModelType.Should().Be <BlogPost>(); details.LinkedSourceType.Should().Be <BlogPostLinkedSource>(); details.Result.Should().BeEquivalentTo(result); details.Took.Should().NotBeNull(); details.Steps.Should().HaveCount(3); details.CurrentStep.Should().Be(details.Steps[2]); VerifyFirstStep(details.Steps[0], models); VerifySecondStep(details.Steps[1], models); VerifyThirdStep(details.Steps[2], models); }
public LoadingContext(IReadOnlyDictionary <Type, IReadOnlyList <object> > lookupIds, DataStore dataStore, ILoadLinkDetails loadLinkDetails = null) { _dataStore = dataStore; _lookupIds = lookupIds; LoadLinkDetails = loadLinkDetails; }