mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-07-16 21:58:54 +08:00
Updating unit test to use IWorkContextAccessor
The shell route's data token no longer has an IContainerProvider interface added --HG-- branch : dev
This commit is contained in:
parent
90d214db1a
commit
d726952cfc
@ -45,14 +45,14 @@ namespace Orchard.Tests.Mvc.Routes {
|
|||||||
"shell",
|
"shell",
|
||||||
builder => {
|
builder => {
|
||||||
builder.Register(ctx => _settingsA);
|
builder.Register(ctx => _settingsA);
|
||||||
builder.RegisterType<RoutePublisher>().As<IRoutePublisher>().InstancePerLifetimeScope();
|
builder.RegisterType<RoutePublisher>().As<IRoutePublisher>().InstancePerMatchingLifetimeScope("shell");
|
||||||
});
|
});
|
||||||
|
|
||||||
_containerB = _rootContainer.BeginLifetimeScope(
|
_containerB = _rootContainer.BeginLifetimeScope(
|
||||||
"shell",
|
"shell",
|
||||||
builder => {
|
builder => {
|
||||||
builder.Register(ctx => _settingsB);
|
builder.Register(ctx => _settingsB);
|
||||||
builder.RegisterType<RoutePublisher>().As<IRoutePublisher>().InstancePerLifetimeScope();
|
builder.RegisterType<RoutePublisher>().As<IRoutePublisher>().InstancePerMatchingLifetimeScope("shell");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -136,18 +136,23 @@ namespace Orchard.Tests.Mvc.Routes {
|
|||||||
var httpContextA = new StubHttpContext("~/foo", "a.example.com");
|
var httpContextA = new StubHttpContext("~/foo", "a.example.com");
|
||||||
var routeDataA = _routes.GetRouteData(httpContextA);
|
var routeDataA = _routes.GetRouteData(httpContextA);
|
||||||
Assert.That(routeDataA, Is.Not.Null);
|
Assert.That(routeDataA, Is.Not.Null);
|
||||||
Assert.That(routeDataA.DataTokens.ContainsKey("IContainerProvider"), Is.True);
|
Assert.That(routeDataA.DataTokens.ContainsKey("IWorkContextAccessor"), Is.True);
|
||||||
var routeContainerProviderA = (IContainerProvider)routeDataA.DataTokens["IContainerProvider"];
|
var workContextAccessorA = (IWorkContextAccessor)routeDataA.DataTokens["IWorkContextAccessor"];
|
||||||
Assert.That(routeContainerProviderA.ApplicationContainer.Resolve<IRoutePublisher>(), Is.SameAs(_containerA.Resolve<IRoutePublisher>()));
|
var workContextScopeA = workContextAccessorA.CreateWorkContextScope(httpContextA);
|
||||||
Assert.That(routeContainerProviderA.ApplicationContainer.Resolve<IRoutePublisher>(), Is.Not.SameAs(_containerB.Resolve<IRoutePublisher>()));
|
|
||||||
|
Assert.That(workContextScopeA.Resolve<IRoutePublisher>(), Is.SameAs(_containerA.Resolve<IRoutePublisher>()));
|
||||||
|
Assert.That(workContextScopeA.Resolve<IRoutePublisher>(), Is.Not.SameAs(_containerB.Resolve<IRoutePublisher>()));
|
||||||
|
|
||||||
var httpContextB = new StubHttpContext("~/foo", "b.example.com");
|
var httpContextB = new StubHttpContext("~/foo", "b.example.com");
|
||||||
var routeDataB = _routes.GetRouteData(httpContextB);
|
var routeDataB = _routes.GetRouteData(httpContextB);
|
||||||
Assert.That(routeDataB, Is.Not.Null);
|
Assert.That(routeDataB, Is.Not.Null);
|
||||||
Assert.That(routeDataB.DataTokens.ContainsKey("IContainerProvider"), Is.True);
|
Assert.That(routeDataB.DataTokens.ContainsKey("IWorkContextAccessor"), Is.True);
|
||||||
var routeContainerProviderB = (IContainerProvider)routeDataB.DataTokens["IContainerProvider"];
|
var workContextAccessorB = (IWorkContextAccessor)routeDataB.DataTokens["IWorkContextAccessor"];
|
||||||
Assert.That(routeContainerProviderB.ApplicationContainer.Resolve<IRoutePublisher>(), Is.SameAs(_containerB.Resolve<IRoutePublisher>()));
|
var workContextScopeB = workContextAccessorB.CreateWorkContextScope(httpContextB);
|
||||||
Assert.That(routeContainerProviderB.ApplicationContainer.Resolve<IRoutePublisher>(), Is.Not.SameAs(_containerA.Resolve<IRoutePublisher>()));
|
|
||||||
|
Assert.That(workContextScopeB.Resolve<IRoutePublisher>(), Is.SameAs(_containerB.Resolve<IRoutePublisher>()));
|
||||||
|
Assert.That(workContextScopeB.Resolve<IRoutePublisher>(), Is.Not.SameAs(_containerA.Resolve<IRoutePublisher>()));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
Loading…
Reference in New Issue
Block a user