예제 #1
0
        public void CreateController_WithRouteData_CreatesControllerInstance()
        {
            var context = new HttpContextWrapper(new HttpContext(
                                                     new HttpRequest(null, "http://tempuri.org", null),
                                                     new HttpResponse(null)));

            context.Items["CurrentResourcePackage"] = "test";

            var layoutTemplateBuilder = new LayoutRenderer();

            Controller dummyController = null;

            SystemManager.RunWithHttpContext(context, () =>
            {
                var routeData = new RouteData();
                routeData.Values.Add("controller", "dummy");
                dummyController = layoutTemplateBuilder.CreateController(routeData);
            });

            Assert.IsNotNull(dummyController);
            Assert.IsTrue(dummyController != null);
            Assert.IsTrue(dummyController.ControllerContext != null);
            Assert.IsTrue(dummyController.ControllerContext.RouteData != null);
            Assert.IsTrue(dummyController.ControllerContext.RouteData.Values != null);
            Assert.IsTrue(dummyController.ControllerContext.RouteData.Values.ContainsKey("controller"));
            Assert.IsTrue(dummyController.ControllerContext.RouteData.Values["controller"] != null);
            Assert.AreEqual <string>(dummyController.ControllerContext.RouteData.Values["controller"].ToString(), "dummy");
        }
예제 #2
0
 public void CreateController_WithNullContext_ThrowsException()
 {
     SystemManager.RunWithHttpContext(null, () =>
     {
         var layoutTemplateBuilder = new LayoutRenderer();
         layoutTemplateBuilder.CreateController();
     });
 }
예제 #3
0
        public void CreateController_WithDummyContext_CreatesControllerInstance()
        {
            // Arrange
            var layoutTemplateBuilder = new LayoutRenderer();

            // Act
            Controller dummyController = null;

            SystemManager.RunWithHttpContext(this.context, () => { dummyController = layoutTemplateBuilder.CreateController(); });

            // Assert
            this.AssertControllerHasValidContext(dummyController);
            Assert.AreEqual(dummyController.ControllerContext.RouteData.Values["controller"].ToString(), "Generic", ignoreCase: true, message: "The controller name is not added in the RouteData collection.");
        }
예제 #4
0
        public void CreateController_WithRouteData_CreatesControllerInstance()
        {
            //Arrange
            var layoutTemplateBuilder = new LayoutRenderer();

            //Act
            Controller dummyController = null;

            SystemManager.RunWithHttpContext(context, () =>
            {
                var routeData = new RouteData();
                routeData.Values.Add("controller", "dummy");
                dummyController = layoutTemplateBuilder.CreateController(routeData);
            });

            //Assert
            this.AssertControllerHasValidContext(dummyController);
            Assert.AreEqual <string>(dummyController.ControllerContext.RouteData.Values["controller"].ToString(), "dummy", "The controller name is not added in the RouteData collection.");
        }