public ActionResult InformationItem() { string strInformationId = Request.QueryString["informationId"]; Guid informationId = Guid.Empty; if (String.IsNullOrEmpty(strInformationId) || Guid.TryParse(strInformationId, out informationId) == false) { //TODO:ID无效 //return RedirectToAction("PointCommodity", new { domain = domain }); } string strCategoryId = Request.QueryString["categoryId"]; Guid categoryId = Guid.Empty; if (String.IsNullOrEmpty(strCategoryId) || Guid.TryParse(strCategoryId, out categoryId) == false) { //TODO:ID无效 //return RedirectToAction("PointCommodity", new { domain = domain }); } InformationItemViewModel model = new InformationItemViewModel(); model.Information = _informationManager.GetInformation(informationId); model.Category = _informationManager.GetCategory(categoryId); return(View(model)); }
public void Post_Edit_Is_Not_Valid() { // Arrange var informationItemViewModel = new InformationItemViewModel() { PictureUrl = "/Content/Images/pizza_1.jpg", //Position = 1, //Title = "Menu", Content = "Ut at viverra arcu. Donec sed interdum nulla, eu porttitor lorem. Morbi efficitur sapien ullamcorper lorem vestibulum, ut aliquet turpis consequat. Suspendisse ac nibh non velit scelerisque bibendum. " }; var service = Substitute.For <IInformationItemService>(); var controller = new InformationItemController(service); var validator = new ModelValidator <InformationItemViewModel>(informationItemViewModel); // Act var valid = validator.IsValid(); validator.AddToModelError(controller); var result = controller.Edit(informationItemViewModel) as RedirectToRouteResult; var tempData = controller.TempData["ModelIsNotValid"]; // Assert Assert.That(result, !Is.Null); Assert.That(valid, Is.False); Assert.That("Wystąpił błąd w formularzu, spróbuj ponownie.", Is.EqualTo(tempData)); }
public void Post_Edit_Model_Is_Null() { // Arrange var id = -1; InformationItem informationItem = null; var informationItemViewModel = new InformationItemViewModel() { PictureUrl = "/Content/Images/pizza_1.jpg", Position = 1, Title = "Menu", Content = "Ut at viverra arcu. Donec sed interdum nulla, eu porttitor lorem. Morbi efficitur sapien ullamcorper lorem vestibulum, ut aliquet turpis consequat. Suspendisse ac nibh non velit scelerisque bibendum. " }; var service = Substitute.For <IInformationItemService>(); var validator = new ModelValidator <InformationItemViewModel>(informationItemViewModel); var controller = new InformationItemController(service); service.GetInfomrationItem(id).Returns(informationItem); // Act var valid = validator.IsValid(); validator.AddToModelError(controller); var result = controller.Edit(informationItemViewModel) as HttpNotFoundResult; var statusCode = result.StatusCode; // Assert Assert.That(result, !Is.Null); Assert.That(valid, Is.True); Assert.That(404, Is.EqualTo(statusCode)); }
public void Good_Post_Create() { // Arrange var informationItemViewModel = new InformationItemViewModel() { Position = 1, Title = "Menu", Content = "Ut at viverra arcu. Donec sed interdum nulla, eu porttitor lorem. Morbi efficitur sapien ullamcorper lorem vestibulum, ut aliquet turpis consequat. Suspendisse ac nibh non velit scelerisque bibendum. " }; var informationItem = new InformationItem() { Position = 1, Title = "Menu", Content = "Ut at viverra arcu. Donec sed interdum nulla, eu porttitor lorem. Morbi efficitur sapien ullamcorper lorem vestibulum, ut aliquet turpis consequat. Suspendisse ac nibh non velit scelerisque bibendum. " }; var fileName = "text.jpg"; var fileLength = 1000; var contentType = "image"; var fakeImage = Substitute.For <HttpPostedFileBase>(); var validator = new ModelValidator <InformationItemViewModel>(informationItemViewModel); var service = Substitute.For <IInformationItemService>(); fakeImage.FileName.Returns(fileName); fakeImage.ContentType.Returns(contentType); fakeImage.ContentLength.Returns(fileLength); var controller = new InformationItemController(service); service.MapViewModelToObject(informationItemViewModel).Returns(informationItem); informationItem.PictureUrl = service.AddInformationItemImage(fakeImage); service.CreateInformationItem(informationItem); service.SaveInfomrationItem(); // Act var valid = validator.IsValid(); validator.AddToModelError(controller); var result = controller.Create(informationItemViewModel, fakeImage) as RedirectToRouteResult; var actionName = result.RouteValues.Values.ElementAt(0); // Assert Assert.That(result, !Is.Null); Assert.That("Index", Is.EqualTo(actionName)); Assert.That(valid, Is.True); }
public void Good_Post_Edit() { // Arrange var informationItem = new InformationItem() { ID = 1, PictureUrl = "/Content/Images/pizza_1.jpg", Position = 1, Title = "Menu", Content = "Ut at viverra arcu. Donec sed interdum nulla, eu porttitor lorem. Morbi efficitur sapien ullamcorper lorem vestibulum, ut aliquet turpis consequat. Suspendisse ac nibh non velit scelerisque bibendum. " }; var informationItemViewModel = new InformationItemViewModel() { ID = 1, PictureUrl = "/Content/Images/pizza_1.jpg", Position = 1, Title = "Menu", Content = "Ut at viverra arcu. Donec sed interdum nulla, eu porttitor lorem. Morbi efficitur sapien ullamcorper lorem vestibulum, ut aliquet turpis consequat. Suspendisse ac nibh non velit scelerisque bibendum. " }; var service = Substitute.For <IInformationItemService>(); var validator = new ModelValidator <InformationItemViewModel>(informationItemViewModel); var fakeController = new FakeController(); var controller = new InformationItemController(service); fakeController.PrepareFakeAjaxRequest(); controller.ControllerContext = fakeController.GetControllerContext <InformationItemController>(new RouteData(), controller); service.GetInfomrationItem(informationItem.ID).Returns(informationItem); service.UpdateInformationItem(informationItem); service.SaveInfomrationItem(); // Act var valid = validator.IsValid(); validator.AddToModelError(controller); var result = controller.Edit(informationItemViewModel) as RedirectToRouteResult; var actionName = result.RouteValues.Values.ElementAt(0); var ajaxRequest = controller.Request.IsAjaxRequest(); // Assert Assert.That(result, !Is.Null); Assert.That("Index", Is.EqualTo(actionName)); Assert.That(ajaxRequest, Is.True); Assert.That(valid, Is.True); }
public ActionResult Create([Bind(Exclude = "ID, PictureUrl")] InformationItemViewModel informationItemViewModel, HttpPostedFileBase PictureContent) { if (!ModelState.IsValid) { TempData["ModelIsNotValid"] = "Wystąpił błąd w formularzu, spróbuj ponownie."; return(RedirectToAction("Index")); } if (PictureContent == null || PictureContent.ContentLength <= 0 || !PictureContent.ContentType.Contains("image")) { TempData["ModelIsNotValid"] = "Zdjęcie nie zostało przesłane prawidłowo. Spróbuj ponownie."; return(RedirectToAction("Index")); } var informationItem = _service.MapViewModelToObject(informationItemViewModel); informationItem.PictureUrl = _service.AddInformationItemImage(PictureContent); _service.CreateInformationItem(informationItem); _service.SaveInfomrationItem(); return(RedirectToAction("Index")); }
public ActionResult Edit(InformationItemViewModel informationItemViewModel) { if (!ModelState.IsValid) { TempData["ModelIsNotValid"] = "Wystąpił błąd w formularzu, spróbuj ponownie."; return(RedirectToAction("Index")); } var informationItem = _service.GetInfomrationItem(informationItemViewModel.ID); if (informationItem == null) { return(HttpNotFound()); } var result = _service.MapViewModelToObject(informationItemViewModel, informationItem); _service.UpdateInformationItem(result); _service.SaveInfomrationItem(); return(RedirectToAction("Index")); }
public void Good_Get_Edit() { // Arrange var id = 1; var informationItem = new InformationItem() { ID = 1, PictureUrl = "/Content/Images/pizza_1.jpg", Position = 1, Title = "Menu", Content = "Ut at viverra arcu. Donec sed interdum nulla, eu porttitor lorem. Morbi efficitur sapien ullamcorper lorem vestibulum, ut aliquet turpis consequat. Suspendisse ac nibh non velit scelerisque bibendum. " }; var informationItemViewModel = new InformationItemViewModel() { ID = 1, PictureUrl = "/Content/Images/pizza_1.jpg", Position = 1, Title = "Menu", Content = "Ut at viverra arcu. Donec sed interdum nulla, eu porttitor lorem. Morbi efficitur sapien ullamcorper lorem vestibulum, ut aliquet turpis consequat. Suspendisse ac nibh non velit scelerisque bibendum. " }; var service = Substitute.For <IInformationItemService>(); var fakeController = new FakeController(); var controller = new InformationItemController(service); fakeController.PrepareFakeAjaxRequest(); controller.ControllerContext = fakeController.GetControllerContext <InformationItemController>(new RouteData(), controller); service.GetInfomrationItem(id).Returns(informationItem); service.MapObjectToViewModel(informationItem).Returns(informationItemViewModel); // Act var result = controller.Edit(id) as PartialViewResult; var viewName = result.ViewName; var model = result.Model; var ajaxRequest = controller.Request.IsAjaxRequest(); // Assert Assert.That(result, !Is.Null); Assert.That("_EditPartial", Is.EqualTo(viewName)); Assert.That(ajaxRequest, Is.True); Assert.That(model, !Is.Null); }
public void Post_Create_File_Is_Null_Or_ContentLength_0_Or_Content_Type_Not_Image() { // Arrange var informationItemViewModel = new InformationItemViewModel() { Position = 1, Title = "Menu", Content = "Ut at viverra arcu. Donec sed interdum nulla, eu porttitor lorem. Morbi efficitur sapien ullamcorper lorem vestibulum, ut aliquet turpis consequat. Suspendisse ac nibh non velit scelerisque bibendum. " }; HttpPostedFileBase fakeImage = null; var service = Substitute.For <IInformationItemService>(); var controller = new InformationItemController(service); // Act var result = controller.Create(informationItemViewModel, fakeImage) as RedirectToRouteResult; var actionName = result.RouteValues.Values.ElementAt(0); var tempData = controller.TempData["ModelIsNotValid"]; // Assert Assert.That(result, !Is.Null); Assert.That("Index", Is.EqualTo(actionName)); Assert.That("Zdjęcie nie zostało przesłane prawidłowo. Spróbuj ponownie.", Is.EqualTo(tempData)); }
public void Post_Create_Model_Not_Valid() { // Arrange var informationItemViewModel = new InformationItemViewModel() { //Position = 1, //Title = "Menu", Content = "Ut at viverra arcu. Donec sed interdum nulla, eu porttitor lorem. Morbi efficitur sapien ullamcorper lorem vestibulum, ut aliquet turpis consequat. Suspendisse ac nibh non velit scelerisque bibendum. " }; var fileName = "text.jpg"; var fileLength = 1000; var contentType = "image"; var fakeImage = Substitute.For <HttpPostedFileBase>(); var validator = new ModelValidator <InformationItemViewModel>(informationItemViewModel); var service = Substitute.For <IInformationItemService>(); fakeImage.FileName.Returns(fileName); fakeImage.ContentType.Returns(contentType); fakeImage.ContentLength.Returns(fileLength); var controller = new InformationItemController(service); // Act var valid = validator.IsValid(); validator.AddToModelError(controller); var result = controller.Create(informationItemViewModel, fakeImage) as RedirectToRouteResult; var actionName = result.RouteValues.Values.ElementAt(0); var tempData = controller.TempData["ModelIsNotValid"]; // Assert Assert.That(valid, Is.False); Assert.That(result, !Is.Null); Assert.That("Wystąpił błąd w formularzu, spróbuj ponownie.", Is.EqualTo(tempData)); Assert.That("Index", Is.EqualTo(actionName)); }
public InformationItem MapViewModelToObject(InformationItemViewModel viewModel, InformationItem model) { var result = _mapper.Map <InformationItemViewModel, InformationItem>(viewModel, model); return(result); }