public void ShowErrorDetails_ForNonLocalHost_ReturnsFalse() { // arrange var context = new Mock<ISubtextContext>(); context.Setup(c => c.HttpContext.Request.IsLocal).Returns(false); context.Setup(c => c.User.IsInRole("Admins")).Returns(false); var page = new SubtextPage { SubtextContext = context.Object }; var control = new Error { Page = page }; // act bool result = control.ShowErrorDetails; // assert Assert.IsFalse(result); }
public void LoadControl_WithControlAndFallbackThrowingHttpException_LoadsErrorControl() { // arrange var containerControl = new Mock<IContainerControl>(); var errorControl = new Error(); containerControl.Setup(tc => tc.LoadControl("~/Skins/OfMyChinnyChinChin/Controls/ViewPost.ascx")).Throws(new HttpException()); containerControl.Setup(tc => tc.LoadControl("~/Skins/_System/Controls/ViewPost.ascx")).Throws(new HttpException()); containerControl.Setup(tc => tc.LoadControl("~/Skins/_System/Controls/Error.ascx")).Returns(errorControl); var skin = new SkinConfig { TemplateFolder = "OfMyChinnyChinChin" }; var skinControlLoader = new SkinControlLoader(containerControl.Object, skin); // act var control = skinControlLoader.LoadControl("ViewPost") as Error; // assert Assert.AreSame(errorControl, control); Assert.AreEqual("~/Skins/OfMyChinnyChinChin/Controls/ViewPost.ascx", control.Exception.ControlPath); }