public async Task ShowExecutorsPerPageTest() { //Arrange int fakePageNumber = 0; string[] fakeCategories = null; ExecutorDTOPage fakePage = new ExecutorDTOPage(); var iExecutorService = new Mock <IExecutorService>(); iExecutorService.Setup(x => x.GetExecutorsPerPage(-1, 1, null)).ReturnsAsync(fakePage); var iUserActivityService = new Mock <IUserActivityService>(); ExecutorPageViewModel fakeViewModel = new ExecutorPageViewModel(); var mapper = new Mock <IMapper>(); mapper.Setup(x => x.Map <ExecutorPageViewModel>(It.IsAny <ExecutorDTOPage>())).Returns(fakeViewModel); var controllerContext = new Mock <ControllerContext>(); var controllerSession = new Mock <HttpSessionStateBase>(); controllerContext.Setup(p => p.HttpContext.Session).Returns(controllerSession.Object); ExecutorController executorControllerTest = new ExecutorController(iExecutorService.Object, iUserActivityService.Object, mapper.Object); executorControllerTest.ControllerContext = controllerContext.Object; //Act ViewResult view = await executorControllerTest.ShowExecutorsPerPage(fakePageNumber, fakeCategories) as ViewResult; //Asert Assert.IsNotNull(view); Assert.IsNotNull(view.Model); }
public async Task <ExecutorDTOPage> GetExecutorsPerPage(int page, int pageSize, List <Category> categories) { List <int> categoriesValues = null; if (categories != null) { categoriesValues = new List <int>(); foreach (Category category in categories) { categoriesValues.Add((int)category); } } ExecutorPage executorsSinglePageModel = await _database.Executors.GetExecutorsPerPage(page, pageSize, categoriesValues); ExecutorDTOPage executorsDTOSinglePageModel = _mapper.Map <ExecutorDTOPage>(executorsSinglePageModel); executorsDTOSinglePageModel.Page = ++page; executorsDTOSinglePageModel.PageSize = pageSize; return(executorsDTOSinglePageModel); }
public async Task <ActionResult> ShowExecutorsPerPage(int?page, string[] categories) { int pageSize = 4; int currentPageIndex = page.HasValue ? page.Value - 1 : 0; List <Category> categoriesInEnumEquivalent = null; if (categories != null) { List <string> categoriesCopy = new List <string>(categories); if (Session["Language"] != null) { string lan = Session["Language"].ToString(); if (lan == "en") { categoriesInEnumEquivalent = CategoryExtension. TranslateFromEnglishToEnumEquivalents(categoriesCopy.ToArray()); } else { categoriesInEnumEquivalent = CategoryExtension. TranslateFromRussianToEnumEquivalents(categoriesCopy.ToArray()); } } } ExecutorDTOPage executorsDTOSinglePageModel = await _executorService.GetExecutorsPerPage(currentPageIndex, pageSize, categoriesInEnumEquivalent); ExecutorPageViewModel executorPageViewModel = new ExecutorPageViewModel(); executorPageViewModel = _mapper.Map <ExecutorPageViewModel>(executorsDTOSinglePageModel); executorPageViewModel.AvailableCategories = categories; return(View(executorPageViewModel)); }