public async Task <IActionResult> GetAsync([FromQuery] BrowseProducts query)
        {
            var products = await _productsService.BrowseAsync(query);

            var result = Collection(products);

            return(result);
        }
示例#2
0
        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();
        }
示例#4
0
        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);
        }
示例#5
0
        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));
 }
示例#7
0
 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));
示例#9
0
 public async Task <IPagedResult <ProductDto> > BrowseProducts([FromQuery] BrowseProducts query) => await QueryAsync(query);
示例#10
0
 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);
示例#13
0
 public async Task <PagedResult <Product> > Get([FromQuery] BrowseProducts query)
 {
     return(await _productsService.BrowseAsync(query));
 }
示例#14
0
 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));
        }
示例#17
0
 public async Task <IActionResult> Get([FromQuery] BrowseProducts query)
 => Collection(await apiGatewayService.BrowseAsync(query));
示例#18
0
 public async Task <ActionResult <IEnumerable <ProductDto> > > Get([FromQuery] BrowseProducts query)
 => Ok(await _productService.BrowseAsync(query));