public void AddActionLink_NoKey_Throws() { IGrid <Object> grid = new Grid <Object>(new Object[0]); IGridColumnsOf <Object> gridColumns = new GridColumns <Object>(grid); gridColumns.Grid.ViewContext = new ViewContext { HttpContext = HttpContextFactory.CreateHttpContextBase() }; IGridColumn <Object, IHtmlString> column = gridColumns.AddActionLink("Delete", "fa fa-times"); String actual = Assert.Throws <Exception>(() => column.ValueFor(new GridRow <Object>(new Object()))).Message; String expected = "Object type does not have a key property."; Assert.Equal(expected, actual); }
public AuthControllerTests() { mailClient = Substitute.For <IMailClient>(); service = Substitute.For <IAccountService>(); validator = Substitute.For <IAccountValidator>(); controller = Substitute.ForPartsOf <AuthController>(validator, service, mailClient); HttpContextBase context = HttpContextFactory.CreateHttpContextBase(); controller.Url = new UrlHelper(context.Request.RequestContext); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = context; accountRecovery = ObjectFactory.CreateAccountRecoveryView(); accountReset = ObjectFactory.CreateAccountResetView(); accountLogin = ObjectFactory.CreateAccountLoginView(); }
public BaseControllerTests() { HttpContextBase context = HttpContextFactory.CreateHttpContextBase(); Authorization.Provider = Substitute.For <IAuthorizationProvider>(); controller = Substitute.ForPartsOf <BaseControllerProxy>(); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.Controller = controller; controller.ControllerContext.HttpContext = context; controller.ControllerContext.RouteData = context.Request.RequestContext.RouteData; controller.Url = Substitute.For <UrlHelper>(); controllerName = controller.RouteData.Values["controller"] as String; areaName = controller.RouteData.Values["area"] as String; }
public void OnException_LogsOnlyInnerMostException() { ExceptionContext context = new ExceptionContext { HttpContext = HttpContextFactory.CreateHttpContextBase(), Exception = new Exception("O", exception) }; filter.OnException(context); String expectedMessage = String.Format("{0}: {1}{2}{3}", context.Exception.InnerException.GetType(), context.Exception.InnerException.Message, Environment.NewLine, context.Exception.InnerException.StackTrace); logger.Received().Log(context.HttpContext.User.Identity.Name, expectedMessage); }
public void AddActionLink_NullAuthorization_Renders() { Authorization.Provider = null; AllTypesView view = new AllTypesView(); columns.Grid.HttpContext = HttpContextFactory.CreateHttpContextBase(); UrlHelper urlHelper = new UrlHelper(columns.Grid.HttpContext.Request.RequestContext); IGridColumn <AllTypesView> column = columns.AddActionLink("Details", "fa fa-info"); String actual = column.ValueFor(new GridRow(view)).ToString(); String expected = String.Format( "<a class=\"details-action\" href=\"{0}\">" + "<i class=\"fa fa-info\"></i>" + "</a>", urlHelper.Action("Details", new { id = view.Id })); Assert.Equal(expected, actual); }
public void HandleUnauthorizedRequest_RedirectsToLogin() { GlobalizedAuthorizeAttributeProxy attribute = new GlobalizedAuthorizeAttributeProxy(); HttpContextBase httpContext = HttpContextFactory.CreateHttpContextBase(); AuthorizationContext context = new AuthorizationContext(); context.RouteData = httpContext.Request.RequestContext.RouteData; context.HttpContext = httpContext; attribute.BaseHandleUnauthorizedRequest(context); RouteValueDictionary actual = (context.Result as RedirectToRouteResult).RouteValues; Assert.AreEqual(context.RouteData.Values["language"], actual["language"]); Assert.AreEqual(context.HttpContext.Request.RawUrl, actual["returnUrl"]); Assert.AreEqual("Auth", actual["controller"]); Assert.AreEqual("Login", actual["action"]); Assert.AreEqual("", actual["area"]); }
public void AddActionLink_Authorized_Renders() { AllTypesView view = new AllTypesView(); Authorization.Provider = Substitute.For <IAuthorizationProvider>(); columns.Grid.HttpContext = HttpContextFactory.CreateHttpContextBase(); UrlHelper urlHelper = new UrlHelper(columns.Grid.HttpContext.Request.RequestContext); Authorization.Provider.IsAuthorizedFor(Arg.Any <Int32?>(), Arg.Any <String>(), Arg.Any <String>(), "Details").Returns(true); IGridColumn <AllTypesView> column = columns.AddActionLink("Details", "fa fa-info"); String actual = column.ValueFor(new GridRow(view)).ToString(); String expected = String.Format( "<a class=\"details-action\" href=\"{0}\">" + "<i class=\"fa fa-info\"></i>" + "</a>", urlHelper.Action("Details", new { view.Id })); Assert.Equal(expected, actual); }