Esempio n. 1
0
        public async Task ListProducts_Valid_OK()
        {
            var listRequest = new ListProductRequest {
            };

            var actual = await Fixture.Api.Products.ListProductsAsync(listRequest);

            Assert.Equal(HttpStatusCode.OK, actual.StatusCode);

            var actualContent = actual.Data;

            Assert.Equal(2, actualContent.Records.Count);

            var expectedFirst = _productRecords[0];
            var actualFirst   = actualContent.Records[0];

            AssertUtilities.NotEmpty(actualFirst.Id);
            Assert.Equal($"{expectedFirst.ProductCode} - {expectedFirst.ProductName}", actualFirst.Name);

            var expectedSecond = _productRecords[1];
            var actualSecond   = actualContent.Records[1];

            AssertUtilities.NotEmpty(actualSecond.Id);
            Assert.Equal($"{expectedSecond.ProductCode} - {expectedSecond.ProductName}", actualSecond.Name);
        }
Esempio n. 2
0
        public async Task <PaginatedResult <ListProductResponseDetail> > Handle(ListProductRequest request, CancellationToken cancellationToken)
        {
            var total = await _storeDbContext
                        .Products
                        .CountAsync(cancellationToken);

            var products = await _storeDbContext
                           .Products
                           .OrderBy(p => p.Name)
                           .Skip(request.PageIndex * request.PageCount)
                           .Take(request.PageCount)
                           .ToListAsync(cancellationToken);

            return(new PaginatedResult <ListProductResponseDetail>()
            {
                Count = products.Count,
                Total = total,
                PageIndex = request.PageIndex,
                Items = products.Select(p => new ListProductResponseDetail
                {
                    Name = p.Name,
                    Description = p.Description
                }).ToList()
            });
        }
Esempio n. 3
0
        public async Task <ActionResult <ListProductsResponse> > ListProductsAsync()
        {
            var request  = new ListProductRequest {
            };
            var response = await Service.ListProductsAsync(request);

            return(Ok(response));
        }
Esempio n. 4
0
        public async Task ListProducts_ValidRequest_ReturnsResponse()
        {
            var request = new ListProductRequest
            {
            };

            var response = await Fixture.Products.ListProductsAsync(request);

            Assert.Equal(_productRecords.Count, response.TotalRecords);

            for (int i = 0; i < _productRecords.Count; i++)
            {
                var expected = _productRecords[i];
                var actual   = response.Records[i];

                Assert.Equal(expected.Id, actual.Id);
                Assert.Equal($"{expected.ProductCode} - {expected.ProductName}", actual.Name);
            }

            Assert.NotNull(response);
        }
Esempio n. 5
0
        public async Task <ActionResult <PaginatedResult <ListProductResponseDetail> > > List([FromQuery] ListProductRequest request, CancellationToken cancellationToken = default)
        {
            var list = await _mediator.Send(request, cancellationToken);

            return(Ok(list));
        }
Esempio n. 6
0
        public async Task <IActionResult> List([FromQuery] ListProductRequest request, CancellationToken cancellationToken = default)
        {
            var list = await _mediator.Send(request, cancellationToken);

            return(Ok(list));
        }
Esempio n. 7
0
 public Task <ListProductsResponse> ListProductsAsync(ListProductRequest request)
 {
     return(HandleAsync <ListProductRequest, ListProductsResponse>(request));
 }
Esempio n. 8
0
 public Task <ListProductsResponse> ListProductsAsync(ListProductRequest request)
 {
     return(ExecuteAsync(e => e.ListProductsAsync(request)));
 }
Esempio n. 9
0
 public Task <IObjectClientResponse <ListProductsResponse> > ListProductsAsync(ListProductRequest request)
 {
     return(Client.GetAsync <ListProductsResponse>("list"));
 }