Example #1
0
        public async Task WhenOrderIsCreatedAndProcessed_ThenParcelNumberIsAvailable()
        {
            // Arrange
            using (var webApplication = Test.CreateWebApplication())
            {
                var httpClient = webApplication.CreateClient();
                var client     = new OrdersClient(httpClient);

                var userId       = "myUser";
                var parcelNumber = "parcel-number-123";

                // Act
                var id = await client.CreateOrderAsync(userId, new OrderDto { ProductId = "foo", Quantity = 5 });

                await Test.WaitForAnyAsync(async() => await client.GetOrdersAsync(userId));

                await client.CompleteOrderAsync(id, parcelNumber);

                var orders = await Test.WaitForAsync(
                    async() => await client.GetOrdersAsync(userId),
                    o => o.Any(order => order.Id == id && order.State == "Completed"));

                // Assert
                Assert.Contains(orders, o => o.ParcelNumber == parcelNumber);
            }
        }
Example #2
0
        public async Task <Result <List <Order> > > GetOrders()
        {
            var resultFromClient = await ordersClient.GetOrdersAsync();

            return(new Result <List <Order> >
            {
                IsSuccess = resultFromClient.IsSuccess,
                Message = resultFromClient.Message,
                Value = resultFromClient.IsSuccess
                    ? resultFromClient.Value.Select(o => OrderConverter.FromDto(o)).ToList()
                    : null
            });
        }