public void GetPreAuthenticatedUriFor_ReturnsPreAuthenticatedUriForResource()
 {
     // Very much mocked, just check that GetPreAuthenticatedUriFor actually calls IUriResolver and IPreAuthenticatedUriProvider
     var uriResolverMock = Substitute.For<IUriResolver>();
     var critter = new Critter();
     uriResolverMock.GetUriFor(critter).Returns("http://api/entities/0");
     var preAuthenticatedUriProviderMock = Substitute.For<IPreAuthenticatedUriProvider>();
     preAuthenticatedUriProviderMock.CreatePreAuthenticatedUrl("http://api/entities/0", null).Returns(
         "http://api/entities/0?$token=XYZ");
     var resolver = new DefaultPreAuthenticatedUriResolver(uriResolverMock, preAuthenticatedUriProviderMock);
     Assert.That(resolver.GetPreAuthenticatedUriFor(critter, null),
                 Is.EqualTo("http://api/entities/0?$token=XYZ"));
 }
        public void GetPreAuthenticatedUriFor_ReturnsPreAuthenticatedUriForResource()
        {
            // Very much mocked, just check that GetPreAuthenticatedUriFor actually calls IUriResolver and IPreAuthenticatedUriProvider
            var uriResolverMock = Substitute.For <IUriResolver>();
            var critter         = new Critter();

            uriResolverMock.GetUriFor(critter).Returns("http://api/entities/0");
            var preAuthenticatedUriProviderMock = Substitute.For <IPreAuthenticatedUriProvider>();

            preAuthenticatedUriProviderMock.CreatePreAuthenticatedUrl("http://api/entities/0", null).Returns(
                "http://api/entities/0?$token=XYZ");
            var resolver = new DefaultPreAuthenticatedUriResolver(uriResolverMock, preAuthenticatedUriProviderMock);

            Assert.That(resolver.GetPreAuthenticatedUriFor(critter, null),
                        Is.EqualTo("http://api/entities/0?$token=XYZ"));
        }