示例#1
0
        public async void HandleAsync_Should_Browse_Customer_And_Return_Paged_Results(int page, int resultsPerPage, int totalData)
        {
            //arrange
            BrowseCustomers query             = new BrowseCustomers();
            var             customerDummyData = new CustomerData();

            customerDummyData.TotalData = totalData;
            int totalResults = customerDummyData.GetCustomers.Count;

            var totalPages = (int)Math.Ceiling((decimal)totalResults / resultsPerPage);
            var results    = Task.FromResult(PagedResult <Customer> .Create(customerDummyData.GetCustomers, page, resultsPerPage, totalPages, totalResults));

            _stubMongoRepository.Setup(x => x.BrowseAsync(It.IsAny <Expression <Func <Customer, bool> > >(), query)).Returns(results);

            //act
            var mockBrowseCustomerQueryHandler = new BrowseCustomerQueryHandler(_stubMongoRepository.Object);
            PagedResult <CustomerDto> customer = await mockBrowseCustomerQueryHandler.HandleAsync(query);

            //assert
            customer.Items.Should()
            .BeEquivalentTo(results.Result.Items.Select(c => new CustomerDto(c.Id, c.FullName, c.Email, c.Phone, c.Address)));
            customer.TotalPages.Should().Be(results.Result.TotalPages);
            customer.TotalResults.Should().Be(results.Result.TotalResults);
            customer.CurrentPage.Should().Be(results.Result.CurrentPage);
        }
示例#2
0
        public async Task <PagedResult <CustomerDto> > HandleAsync(BrowseCustomers query)
        {
            var pagedResult = await mongoRepository.BrowseAsync(_ => true, query);

            var customers = pagedResult.Items.Select(c => new CustomerDto(c.Id, c.FullName, c.Email, c.Phone, c.Address));

            return(PagedResult <CustomerDto> .From(pagedResult, customers));
        }
示例#3
0
        public async Task <PagedResult <CustomerDto> > HandleAsync(BrowseCustomers query)
        {
            var pagedResult = await _customersRepository.BrowseAsync(query);

            var customers = pagedResult.Items.Select(c => new CustomerDto
            {
                Id        = c.Id,
                Email     = c.Email,
                FirstName = c.FirstName,
                LastName  = c.LastName,
                Address   = c.Address,
                Country   = c.Country,
                CreatedAt = c.CreatedAt,
                Completed = c.Completed
            });

            return(PagedResult <CustomerDto> .From(pagedResult, customers));
        }
示例#4
0
 public async Task <IActionResult> Get([FromQuery] BrowseCustomers query)
 => Collection(await _customersService.BrowseAsync(query));
示例#5
0
 public async Task <PagedResult <Customer> > BrowseAsync(BrowseCustomers query)
 => await _repository.BrowseAsync(_ => true, query);
示例#6
0
 public async Task <ActionResult <PagedResult <CustomerDto> > > Get([FromQuery] BrowseCustomers query)
 => Collection(await QueryAsync(query));
 public async Task <IActionResult> Get([FromQuery] BrowseCustomers query)
 => Collection(await _repository.BrowseAsync(query));
示例#8
0
 public async Task <IPagedResult <CustomerDto> > BrowseAsync(BrowseCustomers query)
 {
     throw new NotImplementedException();
 }
示例#9
0
 public async Task <ActionResult <PagedResult <CustomerDto> > > Browse([FromQuery] BrowseCustomers query)
 {
     return(Collection(await QueryAsync(query)));
 }
示例#10
0
        public async Task <ActionResult <PagedResult <CustomerDto> > > GetAll([FromQuery] BrowseCustomers query)
        {
            //BrowseCustomers query = new BrowseCustomers();

            return(Collection(await QueryAsync(query)));
        }