public async Task <IActionResult> GetAsync([FromQuery] BrowseProducts query) { var products = await _productsService.BrowseAsync(query); var result = Collection(products); return(result); }
public async Task <IEnumerable <ProductDto> > HandleAsync(BrowseProducts query) { var products = await _productRepository.GetAllAsync(); var filteredProducts = string.IsNullOrWhiteSpace(query.Name) ? products : products.Where(p => p.Name.Contains(query.Name)); return(filteredProducts.Select(Map)); }
public void BrowseProducts_UsesQuery_ReturnsResultOfDispatch() { var query = new BrowseProducts(); var result = new Mock <IPagedResult <ProductDto> >(MockBehavior.Strict).Object; _dispatcherMock.Setup(d => d.QueryAsync(query)).ReturnsAsync(result).Verifiable(); var actionResult = _controller.BrowseProducts(query).GetAwaiter().GetResult(); Assert.AreEqual(result, actionResult); _dispatcherMock.Verify(); }
public async Task given_valid_query_get_should_return_products() { var productsDtos = _fixture.CreateMany <ProductDto>(); var query = new BrowseProducts(); var dispatcherMock = new Mock <IDispatcher>(); dispatcherMock.Setup(x => x.QueryAsync(query)).ReturnsAsync(productsDtos); var controller = new ProductsController(dispatcherMock.Object); var response = await controller.Get(query); response.Should().NotBeNull(); response.Value.Should().NotBeEmpty(); response.Value.Should().BeSameAs(productsDtos); dispatcherMock.Verify(x => x.QueryAsync(query), Times.Once); }
public async Task given_valid_query_get_should_return_products() { // Arrange var products = _fixture.CreateMany <ProductDto>(); var query = new BrowseProducts(); var productServiceMock = new Mock <IProductService>(); productServiceMock.Setup(x => x.BrowseAsync(query.Name)) .ReturnsAsync(products); var controller = new ProductsController(productServiceMock.Object); // Act var response = await controller.Get(query); // Assert var result = response.Result as OkObjectResult; result.Should().NotBeNull(); var productsResult = result.Value as IEnumerable <ProductDto>; productsResult.Should().NotBeEmpty(); }
public async Task <PagedResult <ProductDto> > Get([FromQuery] BrowseProducts query) { return(await QueryAsync(query)); }
public async Task <ActionResult <PagedResult <ProductDto> > > Get([FromQuery] BrowseProducts query) => Collection(await QueryAsync(query));
public async Task <IActionResult> Get(BrowseProducts query) => Collection(await _productsRepository.BrowseAsync(query));
public async Task <IPagedResult <ProductDto> > BrowseProducts([FromQuery] BrowseProducts query) => await QueryAsync(query);
public async Task <IPagedResult <ProductDto> > BrowseAsync(BrowseProducts query) { throw new NotImplementedException(); }
public async Task <PagedResult <DomainEntities.Product> > BrowseAsync(BrowseProducts query) => await _repository.BrowseAsync(p => p.Category == query.Category, query);
public async Task <PagedResult <Product> > BrowseAsync(BrowseProducts query) => await _repository.BrowseAsync(p => p.Price >= query.PriceFrom && p.Price <= query.PriceTo, query);
public async Task <PagedResult <Product> > Get([FromQuery] BrowseProducts query) { return(await _productsService.BrowseAsync(query)); }
public async Task <IEnumerable <ProductDto> > BrowseAsync(BrowseProducts query) => await _productRepository.BrowseAsync(query.Name) .ContinueWith(t => t.Result.Select(_mapper.Map <ProductDto>));
public async Task <IActionResult> Get([FromQuery] BrowseProducts query) => Collection(await _storage.BrowseAsync(query));
public async Task <IPagedResult <ProductDto> > HandleAsync(BrowseProducts query) { var products = await _repository.BrowseAsync(query); return(_mapper.Map <IPagedResult <ProductDto> >(products)); }
public async Task <IActionResult> Get([FromQuery] BrowseProducts query) => Collection(await apiGatewayService.BrowseAsync(query));
public async Task <ActionResult <IEnumerable <ProductDto> > > Get([FromQuery] BrowseProducts query) => Ok(await _productService.BrowseAsync(query));