public void WhenErrorSummaryInvoked_TheViewModelIsUpdated(string key, string value)
        {
            var values = new Dictionary <string, string>()
            {
                { key, value }
            };

            var component = new ErrorSummary();

            component.ViewComponentContext = ViewComponentTestHelper.GetViewComponentContext();

            ViewViewComponentResult result      = component.Invoke(values) as ViewViewComponentResult;
            ErrorSummaryModel       resultModel = (ErrorSummaryModel)result.ViewData.Model;

            //Assert
            value.Should().Be(ViewComponentTestHelper.GetPropertyValue(resultModel, key));
        }
Esempio n. 2
0
        public virtual ActionResult Error(ErrorHandlingModel error)
        {
            Response.TrySkipIisCustomErrors = true;

            var model = new ErrorSummaryModel();

            switch (error.HttpCode)
            {
            case HttpStatusCode.Forbidden:
                Response.StatusCode = model.ErrorNum = 403;
                model.Heading       = Resources.Error_Error_403;
                model.Message       = Resources.Error_Error_403Description;
                break;

            case HttpStatusCode.NotFound:
                Response.StatusCode = model.ErrorNum = 404;
                model.Heading       = Resources.Error_Error_404;
                model.Message       = Resources.Error_Error_404Description;
                if (!string.IsNullOrEmpty(error.ErrorMessage) && !error.ErrorMessage.Contains(@"System.Web.HttpException"))
                {
                    model.ErrorMessage = error.ErrorMessage;
                }
                break;

            default:
                Response.StatusCode = model.ErrorNum = 500;
                model.Heading       = Resources.Error_Error_500;
                model.Message       = Resources.Error_Error_500Description;
                break;
            }

            if (error.IsAjaxRequest)
            {
                return(Json(model, JsonRequestBehavior.AllowGet));
            }

            return(View(Views.Error, model));
        }