public void VerifyBasicTemplatedLinkSerializationWithRelativeUrl() { var link = new HalTemplatedLink(new Uri("/user/{userId}", UriKind.Relative)); var json = Serialize(link); json.ShouldBe("{\"href\":\"/user/{userId}\",\"templated\":true}"); }
public OrdersLinks(IReadOnlyList <HalTemplatedLink> curiesLinks, HalLink nextLink, HalTemplatedLink findLink, IReadOnlyList <HalLink> adminLinks) : base(new SelfLink("/orders")) { CuriesLinks = curiesLinks; NextLink = nextLink; FindLink = findLink; AdminLinks = adminLinks; }
public void VerifyBasicTemplatedLinkSerialization() { var link = new HalTemplatedLink("/user/{userId}"); var json = Serialize(link); json.ShouldBe("{\"href\":\"/user/{userId}\",\"templated\":true}"); }
public void VerifyBasicDeserializationToHalTemplatedLink() { const string json = "{\"href\":\"/things/1\"}"; HalTemplatedLink link = Deserialize <HalTemplatedLink>(json); link.Href.ToString().ShouldBe("/things/1"); link.Templated.ShouldBe(true); }
public void VerifyTypedTemplatedLinkSerialization() { var link = new HalTemplatedLink("/user/{userId}") { Type = "application/hal+json" }; var json = Serialize(link); json.ShouldBe("{\"href\":\"/user/{userId}\",\"templated\":true,\"type\":\"application/hal+json\"}"); }
public void VerifyNamedTemplatedLinkSerialization() { var link = new HalTemplatedLink("/user/{userId}") { Name = "last" }; var json = Serialize(link); json.ShouldBe("{\"name\":\"last\",\"href\":\"/user/{userId}\",\"templated\":true}"); }
private static OrdersResource CreateOrdersResource() { var curiesLinks = new List <HalTemplatedLink> { new HalTemplatedLink("http://example.com/docs/rels/{rel}") { Name = "ea" } }; var nextLink = new HalLink("/orders?page=2"); var findLink = new HalTemplatedLink("/orders{?id}"); var adminLinks = new List <HalLink> { new HalLink("/admins/2") { Title = "Fred" }, new HalLink("/admins/5") { Title = "Kate" } }; var orderLines = new List <OrderLineResource> { new OrderLineResource(30.00m, "USD", "shipped") { Links = new OrderLineLinks(new SelfLink("/orders/123"), new HalLink("/baskets/98712"), new HalLink("/customers/7809")) }, new OrderLineResource(20.00m, "USD", "processing") { Links = new OrderLineLinks(new SelfLink("/orders/124"), new HalLink("/baskets/97213"), new HalLink("/customers/12369")) } }; var resource = new OrdersResource { Links = new OrdersLinks(curiesLinks, nextLink, findLink, adminLinks), CurrentlyProcessing = 14, ShippedToday = 20, Embedded = new OrdersEmbedded(orderLines) }; return(resource); }