Files
Umbraco-CMS/src/Umbraco.Tests/Web/Controllers/PluginControllerAreaTests.cs

92 lines
3.4 KiB
C#
Raw Normal View History

using System;
using NUnit.Framework;
using Umbraco.Tests.TestHelpers;
using Umbraco.Web;
using Umbraco.Web.Mvc;
namespace Umbraco.Tests.Web.Controllers
{
2017-07-20 11:21:28 +02:00
[TestFixture]
public class PluginControllerAreaTests : BaseWebTest
{
2017-07-20 11:21:28 +02:00
[Test]
public void Ensure_Same_Area1()
{
Assert.Throws<InvalidOperationException>(() =>
new PluginControllerArea(TestObjects.GetGlobalSettings(),
new PluginControllerMetadata[]
2017-07-20 11:21:28 +02:00
{
PluginController.GetMetadata(typeof(Plugin1Controller)),
PluginController.GetMetadata(typeof(Plugin2Controller)),
PluginController.GetMetadata(typeof(Plugin3Controller)) //not same area
}));
}
[Test]
public void Ensure_Same_Area3()
{
Assert.Throws<InvalidOperationException>(() =>
new PluginControllerArea(TestObjects.GetGlobalSettings(),
new PluginControllerMetadata[]
2017-07-20 11:21:28 +02:00
{
PluginController.GetMetadata(typeof(Plugin1Controller)),
PluginController.GetMetadata(typeof(Plugin2Controller)),
PluginController.GetMetadata(typeof(Plugin4Controller)) //no area assigned
}));
}
2017-07-20 11:21:28 +02:00
[Test]
public void Ensure_Same_Area2()
{
var area = new PluginControllerArea(TestObjects.GetGlobalSettings(),
new PluginControllerMetadata[]
2017-07-20 11:21:28 +02:00
{
PluginController.GetMetadata(typeof(Plugin1Controller)),
PluginController.GetMetadata(typeof(Plugin2Controller))
});
Assert.Pass();
}
2017-07-20 11:21:28 +02:00
#region Test classes
2017-07-20 11:21:28 +02:00
[PluginController("Area1")]
public class Plugin1Controller : PluginController
{
public Plugin1Controller(UmbracoContext umbracoContext)
: base(umbracoContext, null, null, null, null, null, null)
2017-07-20 11:21:28 +02:00
{
}
}
2017-07-20 11:21:28 +02:00
[PluginController("Area1")]
public class Plugin2Controller : PluginController
{
public Plugin2Controller(UmbracoContext umbracoContext)
: base(umbracoContext, null, null, null, null, null, null)
2017-07-20 11:21:28 +02:00
{
}
}
2017-07-20 11:21:28 +02:00
[PluginController("Area2")]
public class Plugin3Controller : PluginController
{
public Plugin3Controller(UmbracoContext umbracoContext)
: base(umbracoContext, null, null, null, null, null, null)
2017-07-20 11:21:28 +02:00
{
}
}
2017-07-20 11:21:28 +02:00
public class Plugin4Controller : PluginController
{
public Plugin4Controller(UmbracoContext umbracoContext)
: base(umbracoContext, null, null, null, null, null, null)
2017-07-20 11:21:28 +02:00
{
}
}
2017-07-20 11:21:28 +02:00
#endregion
2017-07-20 11:21:28 +02:00
}
}