public async Task GetPhoneBookAllMustSuccess() { var list = new List <PhoneBookViewModel> { new PhoneBookViewModel { Id = 2, Name = "Jasur", Phone = "+998998431129" }, new PhoneBookViewModel { Id = 4, Name = "Maksim", Phone = "+998946461129" }, new PhoneBookViewModel { Id = 5, Name = "Eugene", Phone = "+998998231429" } }; var expected = new PagedResult <PhoneBookViewModel>() { Data = list, Total = list.Count }; var query = new BrowsePhoneBooks(); _dispatcher.QueryAsync(query).Returns(Task.FromResult(expected)); var result = await _controller.Collection(query); var okResult = Assert.IsType <OkObjectResult>(result); Assert.NotNull(okResult.Value); Assert.Equal(expected, okResult.Value); }
public async Task <PagedResult <PhoneBookViewModel> > HandleAsync(BrowsePhoneBooks query) { var result = _repository.GetAll(); if (!string.IsNullOrEmpty(query.SearchText)) { result = result.Where(s => s.Name.Contains(query.SearchText) || s.Phone.Contains(query.SearchText)); } var models = _mapper.ProjectTo <PhoneBookViewModel>(result); return(new PagedResult <PhoneBookViewModel> { Data = models, Total = models.Count() }); }
public async Task <IActionResult> Collection([FromQuery] BrowsePhoneBooks query) { var response = await _dispatcher.QueryAsync(query); return(Ok(response)); }