private static Func <HttpContextBase> BuildContextFunc() { return(() => { var context = HttpContext.Current; if (context != null) { return new HttpContextWrapper(context); } return FakeHttpContext.Root(); }); }
public void InitController() { controllerContext = new ControllerContext { HttpContext = FakeHttpContext.Root() }; cache.Get("Category", () => new List <Category> { new Category { CategoryCode = "601", CategoryName = "公司新闻", //CategoryTypeCode = 6, } }); }
public void InitController() { controllerContext = new ControllerContext { HttpContext = FakeHttpContext.Root() }; cache.Get("SysConfig", () => new List <SysConfigModel> { new SysConfigModel { ConfigName = "config" } }); // controller = new ArticleInfoController(new ArticleInfoService()) //{ // ControllerContext = controllerContext //}; }
/// <summary> /// Creates the setup conditions for a <see cref="GivenController"/>.As with the <see cref="RequestContext"/> to allow for mocking on the object. /// This is the full version and there are shorter wrapper for specific headers <see cref="WithLocation"/>, <see cref="WithReferrer"/> and <see cref="WithUserAgent"/>. /// <example> /// <code> /// GivenController.As<UserController>() /// .Should(x => x.AssertResultIs<HeadResult>().StatusCode.ShouldBe(HttpStatusCode.OK)) /// .WhenCalling(x => x.Show()); /// </code> /// </example> /// </summary> /// <param name="setupAction">The setup action.</param> /// <returns></returns> public ActionExpectations <T> WithRequest(Action <HttpRequestBase> setupAction) { if (setupAction != null) { if (MockRequest == null) { var fakeHttpContext = FakeHttpContext.Root(); MockRequest = MockRepository.GenerateMock <HttpRequestBase>(); var mockResponse = MockRepository.GenerateMock <HttpResponseBase>(); fakeHttpContext.SetResponse(mockResponse); fakeHttpContext.SetRequest(MockRequest); MockController.ControllerContext = new ControllerContext(new RequestContext(fakeHttpContext, new RouteData()), MockController); } setupAction(MockRequest); } return(this); }
// todo: Move to a Seleno.Mvc project if established public TPage To <TController, TPage>(Expression <Action <TController> > action, IDictionary <string, object> routeValues = null) where TController : Controller where TPage : UiComponent, new() { var requestContext = new RequestContext(FakeHttpContext.Root(), new RouteData()); var actionRouteValues = ExpressionHelper.GetRouteValuesFromExpression(action); if (routeValues != null) { foreach (var v in routeValues) { actionRouteValues[v.Key] = v.Value; } } var urlHelper = new UrlHelper(requestContext, _routeCollection); var relativeUrl = urlHelper.RouteUrl(new RouteValueDictionary(actionRouteValues)); return(To <TPage>(relativeUrl)); }
public virtual void Register(ContainerBuilder builder) { builder.Register <HttpContextBase>(c => { return(HttpContext.Current != null ? new HttpContextWrapper(HttpContext.Current) : (FakeHttpContext.Root() as HttpContextBase)); }); builder.RegisterType <AppDomainTypeFinder>().As <ITypeFinder>().SingleInstance(); builder.RegisterGeneric(typeof(ConfigurationProvider <>)).As(typeof(IConfigurationProvider <>)).SingleInstance(); builder.RegisterType <SettingService>().As <ISettingService>().SingleInstance(); builder.RegisterType <ScheduleTaskService>().As <IScheduleTaskService>().SingleInstance(); builder.RegisterType <WebHelper>().As <IWebHelper>().SingleInstance(); builder.RegisterType <DefaultLogger>().As <ILogger>().SingleInstance(); builder.RegisterType <FileSystemStorageProvider>().As <IStorageProvider>().SingleInstance(); }