예제 #1
0
        public async Task GetOrders()
        {
            string accountNumber = AppConfiguration.AusPostAccountNumber;
            string username      = AppConfiguration.AusPostUsername;
            string password      = AppConfiguration.AusPostPassword;

            var client = new ShippingClient(accountNumber, username, password);

            client.Testing = true;

            var createOrderRequest = CreateCreateOrderRequest();

            var createOrderResponse = await client.CreateOrderIncludingShipmentsAsync(createOrderRequest);

            Assert.AreEqual(true, createOrderResponse.Succeeded, string.Join(", ", createOrderResponse.Errors.Select(e => e.Message)));
            Assert.AreEqual(true, !string.IsNullOrEmpty(createOrderResponse.Order.OrderID));
            Assert.AreEqual(0, createOrderResponse.Errors.Count);
            Assert.AreEqual(0, createOrderResponse.Warnings.Count);

            var getOrdersRequest = CreateGetOrdersRequest(createOrderResponse);

            var getOrdersResponse = await client.GetOrdersAsync(getOrdersRequest);

            // HACK: We are creating a lot of test orders, and there's no way to filter the orders as
            // far as I can see, so we just have to make sure there is at least one matching order
            Assert.AreEqual(true, getOrdersResponse.Succeeded, string.Join(", ", getOrdersResponse.Errors.Select(e => e.Message)));
            Assert.IsTrue(getOrdersResponse.Orders.Any(o => o.OrderReference == "XYZ789"));
            Assert.AreEqual(0, getOrdersResponse.Errors.Count);
            Assert.AreEqual(0, getOrdersResponse.Warnings.Count);
        }