public void Index_SyncRequest_RetrievesPageInfoPropertyFromModel() { Mock <BusinessTripService> mock = new Mock <BusinessTripService>(); mock.Setup(m => m.PageInfo).Returns(new PageInfo() { TotalItems = 9, PageSize = 3, PageNumber = 3 }); BusinessTripController controller = GetNewBusinessTripControllerWithControllerContext(mock.Object, null); ViewResult result = controller.Index(null, null) as ViewResult; BusinessTripListViewModel model = result.ViewData.Model as BusinessTripListViewModel; Assert.AreEqual(9, model.PageInfo.TotalItems); Assert.AreEqual(3, model.PageInfo.PageSize); Assert.AreEqual(3, model.PageInfo.PageNumber); Assert.AreEqual(3, model.PageInfo.TotalPages); }
public void Index_SyncRequest_RetrievesBusinessTripsPropertyFromModel() { Mock <BusinessTripService> mock = new Mock <BusinessTripService>(); mock.Setup(m => m.GetPage(It.IsAny <IEnumerable <BusinessTripDTO> >(), It.IsAny <int>())).Returns(new BusinessTripDTO[] { new BusinessTripDTO { Id = 1, Name = "02.09.2018_026" } }); BusinessTripController controller = GetNewBusinessTripControllerWithControllerContext(mock.Object, null); ViewResult result = controller.Index(null, null) as ViewResult; BusinessTripListViewModel model = result.ViewData.Model as BusinessTripListViewModel; Assert.AreEqual(1, model.BusinessTrips.Count()); Assert.AreEqual(1, model.BusinessTrips.FirstOrDefault().Id); Assert.AreEqual("02.09.2018_026", model.BusinessTrips.FirstOrDefault().Name); }
public ActionResult Index(BusinessTripFilter filter, string filterAsJsonString, int page = 1) { if (filterAsJsonString != null) { filter = System.Web.Helpers.Json.Decode <BusinessTripFilter>(filterAsJsonString); } IEnumerable <BusinessTripDTO> btDto = (_businessTripService as BusinessTripService).Get(filter); // Filter btDto = _businessTripService.GetPage(btDto, page); // Paging Mapper.Initialize(cfg => cfg.CreateMap <BusinessTripDTO, BusinessTripViewModel>() .ForMember(bt => bt.Employees, opt => opt.Ignore())); IEnumerable <BusinessTripViewModel> businessTrips = Mapper.Map <IEnumerable <BusinessTripDTO>, IEnumerable <BusinessTripViewModel> >(btDto); BusinessTripListViewModel model = new BusinessTripListViewModel { BusinessTrips = businessTrips, Filter = filter, PageInfo = _businessTripService.PageInfo }; if (Request.Headers["X-Requested-With"] == "XMLHttpRequest") { _logger.Info("Executed async request"); var transformModel = new { BusinessTrips = model.BusinessTrips.Select(bt => new { bt.Id, Code = bt.Name, DateStart = bt.DateStart.ToString("dd MMMM yyyy"), DateEnd = bt.DateEnd.ToString("dd MMMM yyyy"), bt.Destination }).ToArray(), model.Filter, model.PageInfo }; return(Json(transformModel, JsonRequestBehavior.AllowGet)); } _logger.Info("Executed sync request"); return(View("Index", model)); }