public async Task Should_Resolve_Partial() { var(client, _) = await Initialize( options => { }, options => { options.OnDocumentLink( (documentLinkParams, observer) => { var a = new DocumentLinkContainer( new DocumentLink { Tooltip = "execute-a", } ); observer.OnNext(a); observer.OnCompleted(); }, documentLink => { documentLink.Tooltip = "resolved"; return(Task.FromResult(documentLink)); }, new DocumentLinkRegistrationOptions() ); } ); var item = await client.RequestDocumentLink(new DocumentLinkParams()).SelectMany(z => z).Take(1).ToTask(CancellationToken); item = await client.ResolveDocumentLink(item); item.Tooltip.Should().Be("resolved"); }
public async Task Should_Resolve_With_Partial_Data() { var(client, _) = await Initialize( options => { }, options => { options.OnDocumentLink <Data>( (documentLinkParams, observer) => { var a = new DocumentLinkContainer <Data>( new DocumentLink <Data> { Tooltip = "execute-a", Data = new Data { Child = new Nested { Date = DateTimeOffset.MinValue }, Id = Guid.NewGuid(), Name = "name" } } ); observer.OnNext(a); observer.OnCompleted(); }, documentLink => { documentLink.Data.Id.Should().NotBeEmpty(); documentLink.Data.Child.Should().NotBeNull(); documentLink.Data.Name.Should().Be("name"); documentLink.Tooltip = "resolved"; return(Task.FromResult(documentLink)); }, new DocumentLinkRegistrationOptions() ); } ); var item = await client.RequestDocumentLink(new DocumentLinkParams()).SelectMany(z => z).Take(1).ToTask(CancellationToken); item = await client.ResolveDocumentLink(item); item.Tooltip.Should().Be("resolved"); }