Example #1
0
        public void BrowseSaleStateChanges_UsesQuery_WithEnforcedParentSaleId_ReturnsResultOfDispatch()
        {
            var parentSaleId = TestIds.A;
            var query        = new BrowseSaleStateChanges(TestIds.B);
            var result       = new Mock <IPagedResult <SaleStateChangeDto> >(MockBehavior.Strict).Object;

            _dispatcherMock.Setup(d => d.QueryAsync(It.Is <BrowseSaleStateChanges>(q => q == query && q.ParentSaleId == parentSaleId))).ReturnsAsync(result).Verifiable();

            Assert.AreEqual(result, _controller.BrowseSaleStateChanges(parentSaleId, query).GetAwaiter().GetResult());
            _dispatcherMock.Verify();
        }
Example #2
0
        public async Task <IPagedResult <SaleStateChangeDto> > HandleAsync(BrowseSaleStateChanges query)
        {
            var sale = await _salesRepository.GetAsync(query.ParentSaleId);

            if (sale is null)
            {
                throw new BaristaException("sale_not_found", $"Could not find sale with ID {query.ParentSaleId}");
            }

            var results = await _paginator.PaginateAsync(sale.StateChanges, query);

            return(_mapper.Map <IPagedResult <SaleStateChangeDto> >(results));
        }
Example #3
0
 public async Task <IPagedResult <SaleStateChangeDto> > BrowseSaleStateChanges(Guid parentSaleId, [FromQuery] BrowseSaleStateChanges query)
 {
     query.Bind(q => q.ParentSaleId, parentSaleId);
     return(await QueryAsync(query));
 }