Ejemplo n.º 1
0
        public void ShouldInjectTransitionsInAListOfResourcesEvenWhenNumberOfRelationsIsLessThanNumberOfResources()
        {
            var json =
                "[" +
                "{" +
                "\"Name\":\"John Doe\"," +
                "\"Amount\":123.45" +
                "}," +
                "{" +
                "\"Name\":\"Sally Doe\"," +
                "\"Amount\":67.89" +
                "}" +
                "]";


            var relationsForJohnDoe  = new Mock <Relations>(new Mock <IUrlGenerator>().Object);
            var relationsForSallyDoe = new Mock <Relations>(new Mock <IUrlGenerator>().Object);

            relationsForJohnDoe.Setup(r => r.GetAll()).Returns(new List <Relation>
            {
                new Relation("pay", "http://some/url/pay/john-doe"),
                new Relation("refresh", "http://some/url/refresh/john-doe")
            });

            var result = new JsonHypermediaInjector().Inject(json, new List <Relations> {
                relationsForJohnDoe.Object
            }, requestInfo.Object);

            Assert.AreEqual(
                "[" +
                "{" +
                "\"Name\":\"John Doe\"," +
                "\"Amount\":123.45," +
                "\"links\":" +
                "[" +
                "{" +
                "\"rel\":\"pay\"," +
                "\"href\":\"http://some/url/pay/john-doe\"" +
                "}," +
                "{" +
                "\"rel\":\"refresh\"," +
                "\"href\":\"http://some/url/refresh/john-doe\"" +
                "}" +
                "]" +
                "}," +
                "{" +
                "\"Name\":\"Sally Doe\"," +
                "\"Amount\":67.89" +
                "}" +
                "]"
                , result);
        }
Ejemplo n.º 2
0
        public void ShouldInjectTransitionsInResource()
        {
            var json =
                "{" +
                "\"Name\":\"John Doe\"," +
                "\"Amount\":123.45" +
                "}";

            var relations = new Mock <Relations>(new Mock <IUrlGenerator>().Object);

            relations.Setup(r => r.GetAll()).Returns(new List <Relation>
            {
                new Relation("pay", "http://some/url/pay/john-doe"),
                new Relation("refresh", "http://some/url/refresh/john-doe")
            });

            var result = new JsonHypermediaInjector().Inject(json, relations.Object, requestInfo.Object);

            Assert.AreEqual(
                "{" +
                "\"Name\":\"John Doe\"," +
                "\"Amount\":123.45," +
                "\"links\":" +
                "[" +
                "{" +
                "\"rel\":\"pay\"," +
                "\"href\":\"http://some/url/pay/john-doe\"" +
                "}," +
                "{" +
                "\"rel\":\"refresh\"," +
                "\"href\":\"http://some/url/refresh/john-doe\"" +
                "}" +
                "]" +
                "}"
                , result);
        }