public void ResolvesNullHypermediaAppenderIfNotRegistered() { var resource = new ProductRepresentation(); var builder = Hypermedia.CreateBuilder(); var config = builder.Build(); var registered = config.ResolveAppender(resource); Assert.Null(registered); }
public void CanRegisterAndResolveAHypermediaAppender() { var appender = new ProductRepresentationHypermediaAppender(); var resource = new ProductRepresentation(); var builder = Hypermedia.CreateBuilder(); builder.RegisterAppender(appender); var config = builder.Build(); var registered = config.ResolveAppender(resource); Assert.True(ReferenceEquals(appender, registered)); }
public ResolvingHalResourceTest() { // // Create representation representation = new ProductRepresentation { Id = 9, Title = "Morpheus in a chair statuette", Price = 20.14, Category = new CategoryRepresentation { Id = 99, Title = "Action Figures" } }; }
public ResolvingHalResourceTest() { // // Create representation representation = new ProductRepresentation { Id = 9, Title = "Morpheus in a chair statuette", Price = 20.14, Category = new CategoryRepresentation { Id = 99, Title = "Action Figures" } }; // // Build hypermedia configuration var example = new CuriesLink("example-namespace", "http://api.example.com/docs/{rel}"); var productLink = example.CreateLink("product", "http://api.example.com/products/{id}"); var relatedProductLink = example.CreateLink("related-product", productLink.Href); var saleProductLink = example.CreateLink("product-on-sale", "http://api.example.com/products/sale/{id}"); var categoryLink = example.CreateLink("category", "http://api.example.com/categories/{id}"); var builder = Hypermedia.CreateBuilder(); builder.RegisterAppender(new ProductRepresentationHypermediaAppender()); builder.RegisterAppender(new CategoryRepresentationHypermediaAppender()); builder.RegisterSelf<ProductRepresentation>(productLink); builder.RegisterSelf<CategoryRepresentation>(categoryLink); builder.RegisterLinks<ProductRepresentation>(relatedProductLink, saleProductLink); config = builder.Build(); }