/// <summary> /// </summary> /// <param name="controller">original controller</param> /// <param name="dispatcher">mock of IDispatcher</param> MockController(TController controller, Mock <IDispatcher> dispatcher) { this.dispatcher = dispatcher; originalController = controller; httpContext = Pleasure.Mock <HttpContextBase>(); // preparing RouteData for ControllerContext var routeData = new RouteData(); routeData.Values.Add("Action", "Action"); routeData.Values.Add("Controller", "Controller"); // replacing original controller Context with Mock objects originalController.ControllerContext = new ControllerContext(httpContext.Object, routeData, Pleasure.Mock <ControllerBase>().Object); // preparing routes for UrlHelper var routes = new RouteCollection(); routes.MapRoute(name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }); // replacing original controller UrlHelper with Mock objects originalController.Url = new UrlHelper(new RequestContext(httpContext.Object, routeData), routes); // replace MVC ViewEngines with Mock objects AddViewEngine(); }
static void StubInit(CachingInit cachingInit, Action <Mock <ICachedProvider> > action) { var mockProvider = Pleasure.Mock(action); if (cachingInit.Provider != null) { try { mockProvider = Mock.Get(cachingInit.Provider); action(mockProvider); } ////ncrunch: no coverage start catch (Exception) { mockProvider = Pleasure.Mock(action); } ////ncrunch: no coverage end } cachingInit.WithProvider(mockProvider.Object); }
void AddViewEngine() { this.view = Pleasure.Mock <IView>(); this.viewEngine = Pleasure.Mock <IViewEngine>(); this.viewEngine.Setup(r => r.FindPartialView(Pleasure.MockIt.IsAny <ControllerContext>(), Pleasure.MockIt.IsAny <string>(), Pleasure.MockIt.IsAny <bool>())).Returns(new ViewEngineResult(this.view.Object, this.viewEngine.Object)); ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(this.viewEngine.Object); }
public MockUrl StubRequest(Action <Mock <HttpRequestBase> > action) { var request = Pleasure.Mock <HttpRequestBase>(); action(request); this.httpContext.SetupGet(r => r.Request).Returns(request.Object); return(this); }
protected MockMessage(TMessage instanceMessage) { this.repository = Pleasure.Mock <IRepository>(); IoCFactory.Instance.StubTryResolve(this.repository.Object); this.eventBroker = Pleasure.MockStrict <IEventBroker>(); IoCFactory.Instance.StubTryResolve(this.eventBroker.Object); Original = instanceMessage; }
MockHtmlHelper() { textWriter = Pleasure.Mock <TextWriter>(); var viewDataDictionary = new ViewDataDictionary <TModel>(); viewContext = Pleasure.Mock <ViewContext>(mock => { mock.Setup(r => r.ClientValidationEnabled).Returns(true); mock.SetupGet(r => r.Writer).Returns(textWriter.Object); mock.SetupGet(r => r.ViewData).Returns(viewDataDictionary); }); viewDataContainer = Pleasure.Mock <IViewDataContainer>(mock => mock.SetupGet(r => r.ViewData).Returns(viewDataDictionary)); }
public static MockController <TController> When(params object[] ctorArgs) { var dispatcher = Pleasure.Mock <IDispatcher>(); IoCFactory.Instance.StubTryResolve(dispatcher.Object); var controller = (TController)Activator.CreateInstance(typeof(TController), ctorArgs.ToArray()); var res = new MockController <TController>(controller, dispatcher); res.httpContext.SetupGet(r => r.Request.Headers).Returns(new NameValueCollection { { "X-Requested-With", "XMLHttpRequest" } }); return(res); }
public static MockController <TController> When(params object[] ctorArgs) { var dispatcher = Pleasure.Mock <IDispatcher>(); var listCtors = new List <object> { dispatcher.Object }; if (ctorArgs.Length > 0) { listCtors.AddRange(ctorArgs); } var controller = (TController)Activator.CreateInstance(typeof(TController), listCtors.ToArray()); var res = new MockController <TController>(controller, dispatcher); res.httpContext.SetupGet(r => r.Request.Headers).Returns(new NameValueCollection { { "X-Requested-With", "XMLHttpRequest" } }); return(res); }
public MockUrl() { var routeData = new RouteData(); routeData.Values.Add("Action", "Action"); routeData.Values.Add("Controller", "Controller"); this.httpContext = Pleasure.Mock <HttpContextBase>(mock => { var httpRequestBase = Pleasure.MockAsObject <HttpRequestBase>(mock1 => mock1.SetupGet(r => r.ApplicationPath).Returns("/")); mock.SetupGet(r => r.Request).Returns(httpRequestBase); }); var requestContext = new RequestContext(this.httpContext.Object, routeData); var routes = new RouteCollection(); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }); Original = new UrlHelper(requestContext, routes); }
protected MockMessage(TMessage instanceMessage) { this.unitOfWork = Pleasure.MockStrictAsObject <IUnitOfWork>( mock => { mock.Setup(x => x.GetSession()).Returns(Pleasure.Generator.String()); mock.Setup(x => x.Open()); }); instanceMessage.Setting = new MessageExecuteSetting(); instanceMessage.Setting.SetValue("unitOfWork", unitOfWork); this.repository = Pleasure.Mock <IRepository>(mock => mock.Setup(r => r.SetProvider(unitOfWork))); IoCFactory.Instance.StubTryResolve(this.repository.Object); this.eventBroker = Pleasure.MockStrict <IEventBroker>(); IoCFactory.Instance.StubTryResolve(this.eventBroker.Object); this.dispatcher = Pleasure.MockStrict <IDispatcher>(mock => { mock.StubPush <CommandBase>(@base => { bool isAny = false; foreach (var action in this.actions) { try { action(@base); isAny = true; } catch (Exception) { } } isAny.ShouldBeTrue(); }); }); IoCFactory.Instance.StubTryResolve(this.dispatcher.Object); instanceMessage.Setting.SetValue("outerDispatcher", this.dispatcher.Object); Original = instanceMessage; }
MockController(TController controller, Mock <IDispatcher> dispatcher) { this.dispatcher = dispatcher; this.originalController = controller; this.httpContext = Pleasure.Mock <HttpContextBase>(); var routeData = new RouteData(); routeData.Values.Add("Action", "Action"); routeData.Values.Add("Controller", "Controller"); this.originalController.ControllerContext = new ControllerContext(this.httpContext.Object, routeData, Pleasure.Mock <ControllerBase>().Object); var routes = new RouteCollection(); routes.MapRoute(name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }); this.originalController.Url = new UrlHelper(new RequestContext(this.httpContext.Object, routeData), routes); AddViewEngine(); }