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()
            });
        }
示例#3
0
        public async Task <IActionResult> Collection([FromQuery] BrowsePhoneBooks query)
        {
            var response = await _dispatcher.QueryAsync(query);

            return(Ok(response));
        }