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); }
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)); }
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)); }
public async Task <IActionResult> Get([FromQuery] BrowseCustomers query) => Collection(await _customersService.BrowseAsync(query));
public async Task <PagedResult <Customer> > BrowseAsync(BrowseCustomers query) => await _repository.BrowseAsync(_ => true, query);
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));
public async Task <IPagedResult <CustomerDto> > BrowseAsync(BrowseCustomers query) { throw new NotImplementedException(); }
public async Task <ActionResult <PagedResult <CustomerDto> > > Browse([FromQuery] BrowseCustomers query) { return(Collection(await QueryAsync(query))); }
public async Task <ActionResult <PagedResult <CustomerDto> > > GetAll([FromQuery] BrowseCustomers query) { //BrowseCustomers query = new BrowseCustomers(); return(Collection(await QueryAsync(query))); }