private string InjectJsonTransitions(string content, Relations relations) { var jsonTransitions = relations.GetAll().Select(GetTransitionOnJsonFormat); var jsonTransitionsConcatenated = string.Join(",", jsonTransitions.ToArray()); var jsonWithTransitions = content.Insert(content.Length - 1, ",\"links\":[" + jsonTransitionsConcatenated + "]"); return(jsonWithTransitions); }
private void ReplaceEntryUrl(XmlNode node, Relations relations) { var self = relations.GetAll().SingleOrDefault(r => r.Name.ToLower().Equals("self")); if (self != null) { var id = FindNode(node, "id"); id.InnerText = self.Url; } }
public void ShouldCreateALinkToaNonAction() { var relations = new Relations(new Mock<IUrlGenerator>().Object); relations.Named("to_another_website").At("some/url"); var all = relations.GetAll(); Assert.AreEqual(1, all.Count); Assert.AreEqual("to_another_website" , all.First().Name); Assert.AreEqual("some/url", all.First().Url); }
public void ShouldWorkWhenUsingTheAPIFluentlyInARow() { var relations = new Relations(new Mock<IUrlGenerator>().Object); relations.Named("pay").Uses<SomeController>().SomeSimpleAction(); relations.Named("cancel").Uses<SomeController>().SomeSimpleAction(); var all = relations.GetAll(); Assert.AreEqual(2, all.Count); Assert.IsNotNull(all.Where(t => t.Name == "pay").Single()); Assert.IsNotNull(all.Where(t => t.Name == "cancel").Single()); }
public void ShouldCreateALinkToaNonAction() { var relations = new Relations(new Mock <IUrlGenerator>().Object); relations.Named("to_another_website").At("some/url"); var all = relations.GetAll(); Assert.AreEqual(1, all.Count); Assert.AreEqual("to_another_website", all.First().Name); Assert.AreEqual("some/url", all.First().Url); }
public void ShouldTransitToAControllerAction() { var urlGenerator = new Mock<IUrlGenerator>(); urlGenerator.Setup(ug => ug.For("Some", "SomeSimpleAction", It.IsAny<IDictionary<string, object>>())).Returns("http://Some/SomeSimpleAction"); var relations = new Relations(urlGenerator.Object); relations.Named("pay").Uses<SomeController>().SomeSimpleAction(); var all = relations.GetAll(); Assert.AreEqual("pay", all.First().Name); Assert.AreEqual("http://Some/SomeSimpleAction", all.First().Url); }
public void ShouldWorkWhenUsingTheAPIFluentlyInARow() { var relations = new Relations(new Mock <IUrlGenerator>().Object); relations.Named("pay").Uses <SomeController>().SomeSimpleAction(); relations.Named("cancel").Uses <SomeController>().SomeSimpleAction(); var all = relations.GetAll(); Assert.AreEqual(2, all.Count); Assert.IsNotNull(all.Where(t => t.Name == "pay").Single()); Assert.IsNotNull(all.Where(t => t.Name == "cancel").Single()); }
public string Inject(string content, Relations relations, IRequestInfoFinder requestInfo) { var xmlDocument = new XmlDocument(); xmlDocument.LoadXml(content); foreach (var state in relations.GetAll()) { var transition = GetTransition(xmlDocument, state); xmlDocument.DocumentElement.AppendChild(transition); } return xmlDocument.InnerXml; }
public void ShouldTransitToAControllerAction() { var urlGenerator = new Mock <IUrlGenerator>(); urlGenerator.Setup(ug => ug.For("Some", "SomeSimpleAction", It.IsAny <IDictionary <string, object> >())).Returns("http://Some/SomeSimpleAction"); var relations = new Relations(urlGenerator.Object); relations.Named("pay").Uses <SomeController>().SomeSimpleAction(); var all = relations.GetAll(); Assert.AreEqual("pay", all.First().Name); Assert.AreEqual("http://Some/SomeSimpleAction", all.First().Url); }
public string Inject(string content, Relations relations, IRequestInfoFinder requestInfo) { var xmlDocument = new XmlDocument(); xmlDocument.LoadXml(content); foreach (var state in relations.GetAll()) { var transition = GetTransition(xmlDocument, state); xmlDocument.DocumentElement.AppendChild(transition); } return(xmlDocument.InnerXml); }
private string InjectJsonTransitions(string content, Relations relations) { var jsonTransitions = relations.GetAll().Select(GetTransitionOnJsonFormat); var jsonTransitionsConcatenated = string.Join(",", jsonTransitions.ToArray()); var jsonWithTransitions = content.Insert(content.Length - 1, ",\"links\":[" + jsonTransitionsConcatenated + "]"); return jsonWithTransitions; }