Fixing UrlRuleProviderTest

This commit is contained in:
Sebastien Ros
2012-07-09 11:22:03 -07:00
parent 049003bac3
commit 18d5a08d8a

View File

@@ -1,5 +1,6 @@
using Autofac; using Autofac;
using NUnit.Framework; using NUnit.Framework;
using Orchard.Environment.Configuration;
using Orchard.Mvc; using Orchard.Mvc;
using Orchard.Tests.Stubs; using Orchard.Tests.Stubs;
using Orchard.Widgets.RuleEngine; using Orchard.Widgets.RuleEngine;
@@ -11,11 +12,14 @@ namespace Orchard.Tests.Modules.Widgets.RuleEngine {
private IContainer _container; private IContainer _container;
private IRuleProvider _urlRuleProvider; private IRuleProvider _urlRuleProvider;
private StubHttpContextAccessor _stubContextAccessor; private StubHttpContextAccessor _stubContextAccessor;
private ShellSettings _shellSettings;
[SetUp] [SetUp]
public void Init() { public void Init() {
var builder = new ContainerBuilder(); var builder = new ContainerBuilder();
_shellSettings = new ShellSettings {RequestUrlPrefix = string.Empty};
builder.RegisterType<UrlRuleProvider>().As<IRuleProvider>(); builder.RegisterType<UrlRuleProvider>().As<IRuleProvider>();
builder.RegisterInstance(_shellSettings);
_stubContextAccessor = new StubHttpContextAccessor(); _stubContextAccessor = new StubHttpContextAccessor();
builder.RegisterInstance(_stubContextAccessor).As<IHttpContextAccessor>(); builder.RegisterInstance(_stubContextAccessor).As<IHttpContextAccessor>();
_container = builder.Build(); _container = builder.Build();
@@ -69,5 +73,14 @@ namespace Orchard.Tests.Modules.Widgets.RuleEngine {
_urlRuleProvider.Process(context); _urlRuleProvider.Process(context);
Assert.That(context.Result, Is.True); Assert.That(context.Result, Is.True);
} }
[Test]
public void UrlForHomePageMatchesHomePagePathWithUrlPrefix() {
_stubContextAccessor.StubContext = new StubHttpContext("~/site1");
_shellSettings.RequestUrlPrefix = "site1";
var context = new RuleContext { FunctionName = "url", Arguments = new[] { "~/" } };
_urlRuleProvider.Process(context);
Assert.That(context.Result, Is.True);
}
} }
} }