public void MvcHomeNotFoundReturnsProperView() { // Arrange var homeController = new HomeController { ControllerContext = HttpMocks.GetControllerContextMock().Object }; // Act var result = homeController.NotFound(); // Assert result.Should().BeViewResult().WithViewName("PageNotFound"); }
public void MvcHomeIndexReturnsIndexView() { // Arrange var homeController = new HomeController(); // Act var result = homeController.Index(); // Assert result.Should().BeViewResult().WithViewName("~/Features/Home/Index.cshtml"); }
public void MvcHomeTopNavPartialLoginDisabledForLoginScreen() { // Arrange var controllerContext = HttpMocks.GetControllerContextMock(); var _parentRouteData = new RouteData(); _parentRouteData.Values.Add("controller", "account"); _parentRouteData.Values.Add("action", "login"); var viewContext = new ViewContext { RouteData = _parentRouteData }; controllerContext.Object.RouteData.DataTokens["ParentActionViewContext"] = viewContext; var homeController = new HomeController { ControllerContext = controllerContext.Object }; // Act var result = homeController.TopNavigation(); // Assert result.Should().BePartialViewResult().WithViewName("~/Features/Shared/_TopNavigation.cshtml"); TopNavigationModel model = result.Model as TopNavigationModel; model.AuthenticationDisabled.Should().BeTrue(); }
protected void Application_Error(object sender, EventArgs e) { var httpContext = ((MvcApplication)sender).Context; var currentController = " "; var currentAction = " "; var currentRouteData = RouteTable.Routes.GetRouteData(new HttpContextWrapper(httpContext)); if (currentRouteData != null) { if (currentRouteData.Values["controller"] != null && !string.IsNullOrEmpty(currentRouteData.Values["controller"].ToString())) { currentController = currentRouteData.Values["controller"].ToString(); } if (currentRouteData.Values["action"] != null && !string.IsNullOrEmpty(currentRouteData.Values["action"].ToString())) { currentAction = currentRouteData.Values["action"].ToString(); } } var ex = Server.GetLastError(); var controller = new HomeController(); var routeData = new RouteData(); var action = MVC.Home.ActionNames.Index; Log logger = new Log("MvcApp"); var httpEx = ex as HttpException; if (httpEx != null) { logger.Error(string.Format(CultureInfo.InvariantCulture, "Unhandled Http {0} exception occured.", httpEx.GetHttpCode()), httpEx); switch (httpEx.GetHttpCode()) { case 404: action = MVC.Home.ActionNames.NotFound; break; // others if any } httpContext.Response.StatusCode = httpEx.GetHttpCode(); } else { logger.Error("Unhandled exception occured.", ex); httpContext.Response.StatusCode = 500; } httpContext.ClearError(); httpContext.Response.Clear(); httpContext.Response.TrySkipIisCustomErrors = true; routeData.Values["controller"] = MVC.Home.Name; routeData.Values["action"] = action; HttpContextWrapper wrapper = new HttpContextWrapper(Context); var rc = new RequestContext(wrapper, routeData); controller.ViewData.Model = new HandleErrorInfo(ex, currentController, currentAction); ((IController)controller).Execute(rc); Response.End(); }
public void MvcHomeWebMessagePartialReturnsProperView() { // Arrange var homeController = new HomeController { ControllerContext = HttpMocks.GetControllerContextMock().Object }; // Act var result = homeController.ShowWebMessages(); // Assert result.Should().BePartialViewResult().WithViewName("~/Features/Home/_WebMessages.cshtml").ModelAs<WebMessagesModel>(); }
public void MvcHomeTopNavPartialReturnsProperView() { // Arrange var controllerContext = HttpMocks.GetControllerContextMock(); var parentRouteData = new RouteData(); parentRouteData.Values.Add("controller", "home"); parentRouteData.Values.Add("action", "index"); var viewContext = new ViewContext { RouteData = parentRouteData }; controllerContext.Object.RouteData.DataTokens["ParentActionViewContext"] = viewContext; var homeController = new HomeController { ControllerContext = controllerContext.Object }; // Act var result = homeController.TopNavigation(); // Assert result.Should().BePartialViewResult().WithViewName("~/Features/Shared/_TopNavigation.cshtml"); TopNavigationModel model = result.Model as TopNavigationModel; model.AuthenticationDisabled.Should().BeFalse(); model.LanguagesDisabled.Should().BeFalse(); }