Example #1
0
        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");
        }
Example #2
0
        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");
        }