public void Index_SyncRequest_RetrievesAnnualLeavesPropertyFromModel() { Mock <AnnualLeaveService> mock = new Mock <AnnualLeaveService>(); mock.Setup(m => m.GetPage(It.IsAny <IEnumerable <AnnualLeaveDTO> >(), It.IsAny <int>())).Returns(new AnnualLeaveDTO[] { new AnnualLeaveDTO { Id = 7 } }); AnnualLeaveController controller = GetNewAnnualLeaveControllerWithControllerContext(mock.Object, null); ViewResult result = controller.Index(null, null) as ViewResult; AnnualLeaveListViewModel model = result.ViewData.Model as AnnualLeaveListViewModel; Assert.AreEqual(1, model.AnnualLeaves.Count()); Assert.AreEqual(7, model.AnnualLeaves.FirstOrDefault().Id); }
public void Index_SyncRequest_RetrievesPageInfoPropertyFromModel() { Mock <AnnualLeaveService> mock = new Mock <AnnualLeaveService>(); mock.Setup(m => m.PageInfo).Returns(new PageInfo() { TotalItems = 9, PageSize = 3, PageNumber = 3 }); AnnualLeaveController controller = GetNewAnnualLeaveControllerWithControllerContext(mock.Object, null); ViewResult result = controller.Index(null, null) as ViewResult; AnnualLeaveListViewModel model = result.ViewData.Model as AnnualLeaveListViewModel; 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 ActionResult Index(AnnualLeaveFilter filter, string filterAsJsonString, int page = 1) { if (filterAsJsonString != null) { filter = System.Web.Helpers.Json.Decode <AnnualLeaveFilter>(filterAsJsonString); } IEnumerable <AnnualLeaveDTO> alDto = (_annualLeaveService as AnnualLeaveService).Get(filter); // Filter alDto = _annualLeaveService.GetPage(alDto, page); // Paging InitializeMapper(); IEnumerable <AnnualLeaveViewModel> annualLeaves = Mapper.Map <IEnumerable <AnnualLeaveDTO>, IEnumerable <AnnualLeaveViewModel> >(alDto); AnnualLeaveListViewModel model = new AnnualLeaveListViewModel { AnnualLeaves = annualLeaves, Filter = filter, PageInfo = _annualLeaveService.PageInfo }; if (Request.Headers["X-Requested-With"] == "XMLHttpRequest") { _logger.Info("Executed async request"); var transformModel = new { AnnualLeaves = model.AnnualLeaves.Select(al => new { al.Id, al.ScheduledNumberOfDays, al.ActualNumberOfDays, ScheduledDate = al.ScheduledDate.ToString("dd MMMM yyyy"), ActualDate = al.ActualDate.HasValue ? al.ActualDate.Value.ToString("dd MMMM yyyy") : "", EmployeeName = new System.Text.StringBuilder(al.Employee.LastName).Append(" ") .Append(al.Employee.FirstName).Append(" ").Append(al.Employee.Patronymic ?? "").ToString(), PostTitle = al.Employee.Post.Title, NumberOfDaysOfLeave = al.Employee.Post.NumberOfDaysOfLeave, DepartmentName = al.Employee.Post.Department.DepartmentName }).ToArray(), model.Filter, model.PageInfo }; return(Json(transformModel, JsonRequestBehavior.AllowGet)); } _logger.Info("Executed sync request"); return(View("Index", model)); }