Fixes tests, simplifies constructors
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Routing;
|
||||
using System.Web.Security;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Core;
|
||||
@@ -17,12 +18,15 @@ using Umbraco.Web.WebApi;
|
||||
using Umbraco.Core.Strings;
|
||||
using Umbraco.Core.Composing;
|
||||
using Umbraco.Core.Configuration;
|
||||
using Umbraco.Core.Dictionary;
|
||||
using Umbraco.Core.Models.PublishedContent;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Core.Services;
|
||||
using Umbraco.Tests.PublishedContent;
|
||||
using Umbraco.Tests.Testing;
|
||||
using Umbraco.Tests.Testing.Objects.Accessors;
|
||||
using Umbraco.Web.Runtime;
|
||||
using Umbraco.Web.Security;
|
||||
using Current = Umbraco.Web.Composing.Current;
|
||||
|
||||
namespace Umbraco.Tests.Routing
|
||||
@@ -136,7 +140,16 @@ namespace Umbraco.Tests.Routing
|
||||
var type = new AutoPublishedContentType(22, "CustomDocument", new PublishedPropertyType[] { });
|
||||
ContentTypesCache.GetPublishedContentTypeByAlias = alias => type;
|
||||
|
||||
var handler = new RenderRouteHandler(umbracoContext, new TestControllerFactory(umbracoContext, Mock.Of<ILogger>()));
|
||||
var handler = new RenderRouteHandler(umbracoContext, new TestControllerFactory(umbracoContext, Mock.Of<ILogger>(), context =>
|
||||
{
|
||||
var membershipHelper = new MembershipHelper(new TestUmbracoContextAccessor(umbracoContext), Mock.Of<MembershipProvider>(), Mock.Of<RoleProvider>(), Mock.Of<IMemberService>(), Mock.Of<IMemberTypeService>(), Mock.Of<IUserService>(), Mock.Of<IPublicAccessService>(), Mock.Of<AppCaches>(), Mock.Of<ILogger>());
|
||||
return new CustomDocumentController(Factory.GetInstance<IGlobalSettings>(),
|
||||
umbracoContext,
|
||||
Factory.GetInstance<ServiceContext>(),
|
||||
Factory.GetInstance<AppCaches>(),
|
||||
Factory.GetInstance<IProfilingLogger>(),
|
||||
new UmbracoHelper(umbracoContext, Mock.Of<ITagQuery>(), Mock.Of<ICultureDictionaryFactory>(), Mock.Of<IUmbracoComponentRenderer>(), Mock.Of<IPublishedContentQuery>(), membershipHelper));
|
||||
}));
|
||||
|
||||
handler.GetHandlerForRoute(umbracoContext.HttpContext.Request.RequestContext, frequest);
|
||||
Assert.AreEqual("CustomDocument", routeData.Values["controller"].ToString());
|
||||
@@ -172,7 +185,8 @@ namespace Umbraco.Tests.Routing
|
||||
/// </summary>
|
||||
public class CustomDocumentController : RenderMvcController
|
||||
{
|
||||
public CustomDocumentController(IGlobalSettings globalSettings, UmbracoContext umbracoContext, ServiceContext services, AppCaches appCaches, ILogger logger, IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper) : base(globalSettings, umbracoContext, services, appCaches, logger, profilingLogger, umbracoHelper)
|
||||
public CustomDocumentController(IGlobalSettings globalSettings, UmbracoContext umbracoContext, ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper)
|
||||
: base(globalSettings, umbracoContext, services, appCaches, profilingLogger, umbracoHelper)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ namespace Umbraco.Tests.TestHelpers.Stubs
|
||||
{
|
||||
private readonly UmbracoContext _umbracoContext;
|
||||
private readonly ILogger _logger;
|
||||
private readonly Func<RequestContext, IController> _factory;
|
||||
|
||||
public TestControllerFactory(UmbracoContext umbracoContext, ILogger logger)
|
||||
{
|
||||
@@ -26,8 +27,17 @@ namespace Umbraco.Tests.TestHelpers.Stubs
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public TestControllerFactory(UmbracoContext umbracoContext, ILogger logger, Func<RequestContext, IController> factory)
|
||||
{
|
||||
_umbracoContext = umbracoContext;
|
||||
_logger = logger;
|
||||
_factory = factory;
|
||||
}
|
||||
|
||||
public IController CreateController(RequestContext requestContext, string controllerName)
|
||||
{
|
||||
if (_factory != null) return _factory(requestContext);
|
||||
|
||||
var types = TypeFinder.FindClassesOfType<ControllerBase>(new[] { Assembly.GetExecutingAssembly() });
|
||||
|
||||
var controllerTypes = types.Where(x => x.Name.Equals(controllerName + "Controller", StringComparison.InvariantCultureIgnoreCase));
|
||||
|
||||
@@ -231,20 +231,6 @@ namespace Umbraco.Tests.Testing
|
||||
.Append<TranslationBackOfficeSection>();
|
||||
Composition.RegisterUnique<ISectionService, SectionService>();
|
||||
|
||||
//TODO: A lot of this is just copied from the WebRuntimeComposer, maybe we should just compose it all?
|
||||
Composition.Register<IPublishedContentQuery>(factory =>
|
||||
{
|
||||
var umbCtx = factory.GetInstance<IUmbracoContextAccessor>();
|
||||
return new PublishedContentQuery(umbCtx.UmbracoContext.ContentCache, umbCtx.UmbracoContext.MediaCache, factory.GetInstance<IVariationContextAccessor>());
|
||||
}, Lifetime.Request);
|
||||
Composition.Register<ITagQuery, TagQuery>(Lifetime.Request);
|
||||
|
||||
Composition.RegisterUnique<ITemplateRenderer, TemplateRenderer>();
|
||||
Composition.RegisterUnique<IMacroRenderer, MacroRenderer>();
|
||||
Composition.RegisterUnique<IUmbracoComponentRenderer, UmbracoComponentRenderer>();
|
||||
|
||||
// register the umbraco helper - this is Transient! very important!
|
||||
Composition.Register<UmbracoHelper>();
|
||||
}
|
||||
|
||||
protected virtual void ComposeWtf()
|
||||
|
||||
@@ -49,8 +49,8 @@ namespace Umbraco.Web.Editors
|
||||
private const string TokenPasswordResetCode = "PasswordResetCode";
|
||||
private static readonly string[] TempDataTokenNames = { TokenExternalSignInError, TokenPasswordResetCode };
|
||||
|
||||
public BackOfficeController(ManifestParser manifestParser, UmbracoFeatures features, IGlobalSettings globalSettings, UmbracoContext umbracoContext, ServiceContext services, AppCaches appCaches, ILogger logger, IProfilingLogger profilingLogger, IRuntimeState runtimeState, UmbracoHelper umbracoHelper)
|
||||
: base(globalSettings, umbracoContext, services, appCaches, logger, profilingLogger, umbracoHelper)
|
||||
public BackOfficeController(ManifestParser manifestParser, UmbracoFeatures features, IGlobalSettings globalSettings, UmbracoContext umbracoContext, ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, IRuntimeState runtimeState, UmbracoHelper umbracoHelper)
|
||||
: base(globalSettings, umbracoContext, services, appCaches, profilingLogger, umbracoHelper)
|
||||
{
|
||||
_manifestParser = manifestParser;
|
||||
_features = features;
|
||||
|
||||
@@ -23,8 +23,8 @@ namespace Umbraco.Web.Mvc
|
||||
ActionInvoker = new RenderActionInvoker();
|
||||
}
|
||||
|
||||
public RenderMvcController(IGlobalSettings globalSettings, UmbracoContext umbracoContext, ServiceContext services, AppCaches appCaches, ILogger logger, IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper)
|
||||
: base(globalSettings, umbracoContext, services, appCaches, logger, profilingLogger, umbracoHelper)
|
||||
public RenderMvcController(IGlobalSettings globalSettings, UmbracoContext umbracoContext, ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper)
|
||||
: base(globalSettings, umbracoContext, services, appCaches, profilingLogger, umbracoHelper)
|
||||
{
|
||||
ActionInvoker = new RenderActionInvoker();
|
||||
}
|
||||
|
||||
@@ -21,7 +21,8 @@ namespace Umbraco.Web.Mvc
|
||||
{
|
||||
}
|
||||
|
||||
protected UmbracoAuthorizedController(IGlobalSettings globalSettings, UmbracoContext umbracoContext, ServiceContext services, AppCaches appCaches, ILogger logger, IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper) : base(globalSettings, umbracoContext, services, appCaches, logger, profilingLogger, umbracoHelper)
|
||||
protected UmbracoAuthorizedController(IGlobalSettings globalSettings, UmbracoContext umbracoContext, ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper)
|
||||
: base(globalSettings, umbracoContext, services, appCaches, profilingLogger, umbracoHelper)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,20 +73,19 @@ namespace Umbraco.Web.Mvc
|
||||
Current.Factory.GetInstance<UmbracoContext>(),
|
||||
Current.Factory.GetInstance<ServiceContext>(),
|
||||
Current.Factory.GetInstance<AppCaches>(),
|
||||
Current.Factory.GetInstance<ILogger>(),
|
||||
Current.Factory.GetInstance<IProfilingLogger>(),
|
||||
Current.Factory.GetInstance<UmbracoHelper>()
|
||||
)
|
||||
{
|
||||
}
|
||||
|
||||
protected UmbracoController(IGlobalSettings globalSettings, UmbracoContext umbracoContext, ServiceContext services, AppCaches appCaches, ILogger logger, IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper)
|
||||
protected UmbracoController(IGlobalSettings globalSettings, UmbracoContext umbracoContext, ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper)
|
||||
{
|
||||
GlobalSettings = globalSettings;
|
||||
UmbracoContext = umbracoContext;
|
||||
Services = services;
|
||||
AppCaches = appCaches;
|
||||
Logger = logger;
|
||||
Logger = profilingLogger;
|
||||
ProfilingLogger = profilingLogger;
|
||||
Umbraco = umbracoHelper;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user