public async Task Details_ReturnViewResult_With_Document() { // Arrange Document tempDoc = new Document { DocumentId = 1, DocumentName = "Meh" }; Mock <IUserRepository> mockUserRepo = new Mock <IUserRepository>(); Mock <IDocumentRepository> mockDocRepo = new Mock <IDocumentRepository>(); mockDocRepo.Setup(repo => repo.GetDocumentByIdAsync(1)) .ReturnsAsync(tempDoc); DocumentsController controller = new DocumentsController(mockUserRepo.Object, mockDocRepo.Object); // Act IActionResult result = await controller.Details(tempDoc.DocumentId); // Assert ViewResult viewResult = Assert.IsType <ViewResult>(result); Document model = Assert.IsAssignableFrom <Document>( viewResult.ViewData.Model); }
public async Task Index_ReturnViewResult_With_Documents() { // Arrange ApplicationUser user = new ApplicationUser { Id = "ids" }; Mock <IUserRepository> mockUserRepo = new Mock <IUserRepository>(); HttpContext temp = null; mockUserRepo.Setup(repo => repo.getUserFromHttpContextAsync(temp)) .ReturnsAsync(user); Mock <IDocumentRepository> mockDocRepo = new Mock <IDocumentRepository>(); mockDocRepo.Setup(repo => repo.GetDocumentsOfCurrentUser(user.Id)) .Returns(GetDocumentsOfCurrentUser()); DocumentsController controller = new DocumentsController( mockUserRepo.Object, mockDocRepo.Object); // Act IActionResult result = await controller.Index(); // Assert ViewResult viewResult = Assert.IsType <ViewResult>(result); IEnumerable <Document> model = Assert.IsAssignableFrom <IEnumerable <Document> >( viewResult.ViewData.Model); Assert.Equal(10, model.Count()); }
public void ContactView_View_Message() { HomeController hc = new HomeController(); Microsoft.AspNetCore.Mvc.ViewResult vr = hc.About() as Microsoft.AspNetCore.Mvc.ViewResult; Assert.AreEqual(vr.ViewData["Message"], "Your application description page."); }
public void Test_About_Home_Message() { // Arrange HomeController controller = new HomeController(); // Act ViewResult result = controller.About() as ViewResult; // Assert Assert.Equal("Your application description page.", result.ViewData["Message"]); }
public void Test_Contact_Home() { // Arrange HomeController homeController = new HomeController(); // Act ViewResult result = homeController.About() as ViewResult; // Assert Assert.NotNull(result); }
public void Test_Contact_Home_Message() { // Arrange HomeController controller = new HomeController(); // Act ViewResult result = controller.Contact() as ViewResult; // Assert Assert.Equal("Your contact page.", result.ViewData["Message"]); }
public void Test_Privacy_Home() { // Arrange HomeController homeController = new HomeController(); // Act ViewResult result = homeController.Privacy() as ViewResult; // Assert Assert.NotNull(result); }
public void Test_Index_Home() { // var homeController = new HomeController(); // var result = homeController.Index() as ViewResult; // Assert.Equal("Index", result.ViewName); // Arrange HomeController homeController = new HomeController(); // Act ViewResult result = homeController.Index() as ViewResult; // Assert Assert.NotNull(result); }
public async Task ExecuteResultAsync_Throws_IfViewCouldNotBeFound_MessageUsesFindViewLocations() { // Arrange var viewName = "MyView"; var actionContext = GetActionContext(); var expected = string.Join( Environment.NewLine, $"The view '{viewName}' was not found. The following locations were searched:", "Location1", "Location2", "Location3", "Location4"); var viewEngine = new Mock <IViewEngine>(MockBehavior.Strict); viewEngine .Setup(v => v.GetView(/*executingFilePath*/ null, viewName, /*isMainPage*/ true)) .Returns(ViewEngineResult.NotFound(viewName, new[] { "Location1", "Location2" })) .Verifiable(); viewEngine .Setup(v => v.FindView(It.IsAny <ActionContext>(), viewName, /*isMainPage*/ true)) .Returns(ViewEngineResult.NotFound(viewName, new[] { "Location3", "Location4" })) .Verifiable(); var viewResult = new ViewResult { ViewEngine = viewEngine.Object, ViewName = viewName, ViewData = new ViewDataDictionary(new EmptyModelMetadataProvider()), TempData = Mock.Of <ITempDataDictionary>(), }; // Act and Assert var ex = await Assert.ThrowsAsync <InvalidOperationException>( () => viewResult.ExecuteResultAsync(actionContext)); Assert.Equal(expected, ex.Message); viewEngine.Verify(); }
public async Task Create_ReturnsViewResult_When_InValidModelIsGiven() { // Arrange Mock <IFormFile> mockResumeFormFile = new Mock <IFormFile>(); mockResumeFormFile.Setup(file => file.Length) .Returns(0); DocumentViewModel tempDocumentVM = new DocumentViewModel { DocumentName = "new DocumentViewModel", Resume = mockResumeFormFile.Object }; ApplicationUser user = new ApplicationUser { Id = "ids" }; Mock <IUserRepository> mockUserRepo = new Mock <IUserRepository>(); HttpContext temp = null; mockUserRepo.Setup(repo => repo.getUserFromHttpContextAsync(temp)) .ReturnsAsync(user); Mock <IDocumentRepository> mockDocumentRepo = new Mock <IDocumentRepository>(); mockDocumentRepo.Setup(repo => repo.SaveDocumentToUser(tempDocumentVM, user)) .ReturnsAsync(false); DocumentsController controller = new DocumentsController(mockUserRepo.Object, mockDocumentRepo.Object); // Act IActionResult result = await controller.Create(tempDocumentVM); // Assert ViewResult viewResult = Assert.IsType <ViewResult>(result); }
/// <summary> /// Render view and Return The HTML Content /// </summary> /// <param name="controller">Controller</param> /// <param name="viewName">View name</param> /// <param name="model">Model</param> /// <param name="masterName">Master name</param> /// <param name="partialView">Whether is partial view</param> /// <returns>Return view string</returns> public static async Task <string> RenderViewContentAsync(this Controller controller, string viewName, object model, string masterName, bool partialView = false) { controller.ViewData.Model = model; using (var sw = new StringWriter()) { var actionContext = new ActionContext(controller.HttpContext, controller.RouteData, new ActionDescriptor()); if (partialView) { PartialViewResult partialViewResult = new PartialViewResult() { ViewData = controller.ViewData, TempData = controller.TempData, ViewName = viewName }; var partialViewExecutor = controller.HttpContext.RequestServices.GetRequiredService <IActionResultExecutor <PartialViewResult> >() as PartialViewResultExecutor; var pView = partialViewExecutor.FindView(actionContext, partialViewResult).View; var pviewContext = new ViewContext(actionContext, pView, partialViewResult.ViewData, partialViewResult.TempData, sw, new HtmlHelperOptions()); await pView.RenderAsync(pviewContext).ConfigureAwait(false); return(sw.GetStringBuilder().ToString()); } ViewResult viewResult = new ViewResult() { ViewData = controller.ViewData, TempData = controller.TempData, ViewName = viewName }; var viewExecutor = controller.HttpContext.RequestServices.GetRequiredService <ViewResultExecutor>(); var view = viewExecutor.FindView(actionContext, viewResult).View; var viewContext = new ViewContext(actionContext, view, viewResult.ViewData, viewResult.TempData, sw, new HtmlHelperOptions()); await view.RenderAsync(viewContext).ConfigureAwait(false); return(sw.GetStringBuilder().ToString()); } }
/// <summary> /// 转换成Html /// </summary> /// <param name="result">视图结果</param> /// <param name="httpContext">Http上下文</param> public static string ToHtml(this ViewResult result, HttpContext httpContext) { var feature = httpContext.Features.Get <IRoutingFeature>(); var routeData = feature.RouteData; var viewName = result.ViewName ?? routeData.Values["action"] as string; var actionContext = new ActionContext(httpContext, routeData, new CompiledPageActionDescriptor()); var options = httpContext.RequestServices.GetRequiredService <IOptions <MvcViewOptions> >(); var htmlHelperOptions = options.Value.HtmlHelperOptions; var viewEngineResult = result.ViewEngine?.FindView(actionContext, viewName, true) ?? options.Value .ViewEngines.Select(x => x.FindView(actionContext, viewName, true)) .FirstOrDefault(x => x != null); var view = viewEngineResult.View; var builder = new StringBuilder(); using (var output = new StringWriter(builder)) { var viewContext = new ViewContext(actionContext, view, result.ViewData, result.TempData, output, htmlHelperOptions); view.RenderAsync(viewContext).GetAwaiter().GetResult(); } return(builder.ToString()); }
public void HelpTest() { res = h.Help(); Assert.AreEqual("Help", res.ViewName); }
public void DatabaseConnectionTest() { res = h.DatabaseConnection(); Assert.AreEqual("DatabaseConnection", res.ViewName); }
public void MainPageTest() { res = h.MainPage(); Assert.AreEqual("MainPage", res.ViewName); }
public void Data_maskingTest() { res = h.Data_masking(); Assert.AreEqual("data_masking", res.ViewName); }
public void Remove_duplicatesTest() { res = h.Remove_duplicates(); Assert.AreEqual("remove_duplicates", res.ViewName); }
public void Create_restrictionsTest() { res = h.Create_restrictions(); Assert.AreEqual("create_restrictions", res.ViewName); }
public void Create_masksTest() { res = h.Create_masks(); Assert.AreEqual("create_masks", res.ViewName); }
public void AllSurveyView() { ViewResult result = _conn.SubmitSurvey() as ViewResult; AssertViewResultIs(nameof(_conn.SubmitSurvey), result); }
public void Improve_datatypesTest() { res = h.Improve_datatypes(); Assert.AreEqual("improve_datatypes", res.ViewName); }
public void Missing_valuesTest() { res = h.Missing_values(); Assert.AreEqual("missing_values", res.ViewName); }
public void RestrictionsTest() { res = h.Restrictions(); Assert.AreEqual("restrictions", res.ViewName); }
public void SelectionTest() { res = h.Selection(); Assert.AreEqual("Selection", res.ViewName); }
public void PerformanceTest() { res = h.Performance(); Assert.AreEqual("Performance", res.ViewName); }
public void IndexList() { ViewResult result = _conn.Index() as ViewResult; AssertViewResultIs(nameof(_conn.Index), result); }
public void Primary_keysTest() { res = h.Primary_keys(); Assert.AreEqual("primary_keys", res.ViewName); }
public void Data_unificationTest() { res = h.Data_unification(); Assert.AreEqual("data_unification", res.ViewName); }
protected void AssertViewResultIs(string action, ViewResult viewResult) { Assert.IsTrue(viewResult.ViewName == null || viewResult.ViewName.Equals(action, StringComparison.InvariantCultureIgnoreCase), $"Result.ViewName was {viewResult.ViewName}, but expected null or {action}."); }
public void Foreign_keysTest() { res = h.Foreign_keys(); Assert.AreEqual("foreign_keys", res.ViewName); }