public async void GetSalesOrder_ReturnsSalesOrder() { //Arrange var mockLogger = new Mock <ILogger <SalesOrderApi> >(); var mockHttpRequestFactory = new Mock <IHttpRequestFactory>(); mockHttpRequestFactory.Setup(x => x.Get( It.IsAny <string>(), It.IsAny <string>() ) ) .ReturnsAsync(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new JsonContent(new GetSalesOrder.GetSalesOrderResponse { SalesOrder = new GetSalesOrder_TB.SalesOrderBuilder().WithTestValues().Build() }) }); var baseAddress = "BaseAddress"; var sut = new SalesOrderApi( mockLogger.Object, mockHttpRequestFactory.Object, baseAddress ); //Act var response = await sut.GetSalesOrderAsync(new GetSalesOrder.GetSalesOrderRequest()); //Assert mockHttpRequestFactory.Verify(x => x.Get(It.IsAny <string>(), It.IsAny <string>())); response.SalesOrder.SalesOrderNumber.Should().Be("SO43659"); }
private static void EnrichSalesOrder(BasicSalesOrder basicSalesOrder, string id) { var authApi = new AuthApi(SiteURL); var cookieContainer = new CookieContainer(); authApi.Configuration.ApiClient.RestClient.CookieContainer = cookieContainer; try { LogIn(authApi); var soApi = new SalesOrderApi(); List <SalesOrder> soOrders = soApi.SalesOrderGetList(filter: $"OrderNbr eq '{basicSalesOrder.OrderNbr}'"); Console.WriteLine($"Enriched SOOrder for OrderNbr {basicSalesOrder.OrderNbr}"); Console.WriteLine($"Id: {soOrders[0].Id.Value}"); Console.WriteLine($"Status: {soOrders[0].Status.Value}"); Console.WriteLine($"Order Number: {soOrders[0].OrderNbr.Value}"); Console.WriteLine($"Order Type: {soOrders[0].OrderType.Value}"); Console.WriteLine($"Order Quantity: {soOrders[0].OrderedQty.Value}"); Console.WriteLine($"Order Total: {soOrders[0].OrderTotal.Value}"); Console.WriteLine($"CustomerId: {soOrders[0].CustomerID.Value}"); Console.WriteLine($"Last Modified: {soOrders[0].LastModified.Value}"); } catch (Exception e) { Console.WriteLine(e.Message); } finally { //we use logout in finally block because we need to always logut, even if the request failed for some reason authApi.AuthLogout(); } }
public static void ExampleMethod(string siteURL, string username, string password, string tenant = null, string branch = null, string locale = null) { var authApi = new AuthApi(siteURL, requestInterceptor: RequestLogger.LogRequest, responseInterceptor: RequestLogger.LogResponse); try { var configuration = authApi.LogIn(username, password, tenant, branch, locale); Console.WriteLine("Reading Accounts..."); var accountApi = new AccountApi(configuration); var accounts = accountApi.GetList(top: 5); foreach (var account in accounts) { Console.WriteLine("Account Nbr: " + account.AccountCD.Value + ";"); } Console.WriteLine("Reading Sales Order by Keys..."); var salesOrderApi = new SalesOrderApi(configuration); var order = salesOrderApi.GetByKeys(new List <string>() { "SO", "SO005207" }); Console.WriteLine("Order Total: " + order.OrderTotal.Value); var shipmentApi = new ShipmentApi(configuration); var shipment = shipmentApi.GetByKeys(new List <string>() { "002805" }); Console.WriteLine("ConfirmShipment"); shipmentApi.WaitActionCompletion(shipmentApi.InvokeAction(new ConfirmShipment(shipment))); Console.WriteLine("CorrectShipment"); shipmentApi.WaitActionCompletion(shipmentApi.InvokeAction(new CorrectShipment(shipment))); } catch (Exception e) { Console.WriteLine(e.Message); } finally { //we use logout in finally block because we need to always logut, even if the request failed for some reason if (authApi.TryLogout()) { Console.WriteLine("Logged out successfully."); } else { Console.WriteLine("An error occured during loguot."); } } }
public async void ListSalesOrders_ReturnsSalesOrders() { //Arrange var salesOrders = new List <ListSalesOrders.SalesOrder> { new ListSalesOrders_TB.SalesOrderBuilder() .WithTestValues() .Build(), new ListSalesOrders_TB.SalesOrderBuilder() .RevisionNumber(8) .OrderDate(new DateTime(2011, 05, 31)) .DueDate(new DateTime(2011, 06, 12)) .ShipDate(new DateTime(2011, 06, 07)) .Status(ListSalesOrders.SalesOrderStatus.Shipped) .OnlineOrderFlag(false) .SalesOrderNumber("SO43660") .PurchaseOrderNumber("PO18850127500") .AccountNumber("10-4020-000117") .CustomerName("Pedals Warehouse") .CustomerType(ListSalesOrders.CustomerType.Store) .SalesPerson("Tsvi Michael Reiter") .Territory("Southeast") .SubTotal(1294.2529M) .TaxAmt(124.2483M) .Freight(38.8276M) .TotalDue(1457.3288M) .BillToAddress(new ListSalesOrders_TB.AddressBuilder() .AddressLine1("6055 Shawnee Industrial Way") .City("Suwanee") .StateProvinceName("Georgia") .PostalCode("30024") .Build() ) .ShipToAddress(new ListSalesOrders_TB.AddressBuilder() .AddressLine1("6055 Shawnee Industrial Way") .City("Suwanee") .StateProvinceName("Georgia") .PostalCode("30024") .Build() ) .ShipMethod(new ListSalesOrders_TB.ShipMethodBuilder().WithTestValues().Build()) .OrderLines(new List <ListSalesOrders.SalesOrderLine> { new ListSalesOrders_TB.SalesOrderLineBuilder() .CarrierTrackingNumber("6431-4D57-83") .OrderQty(1) .ProductName("Road-650 Red, 44") .SpecialOfferDescription("No Discount") .UnitPrice(419.4589M) .UnitPriceDiscount(0.00M) .LineTotal(419.4589M) .Build(), new ListSalesOrders_TB.SalesOrderLineBuilder() .CarrierTrackingNumber("6431-4D57-83") .OrderQty(1) .ProductName("Road-450 Red, 52") .SpecialOfferDescription("No Discount") .UnitPrice(874.794M) .UnitPriceDiscount(0.00M) .LineTotal(874.794M) .Build() } ) .Build() }; var mockLogger = new Mock <ILogger <SalesOrderApi> >(); var mockHttpRequestFactory = new Mock <IHttpRequestFactory>(); mockHttpRequestFactory.Setup(x => x.Get( It.IsAny <string>(), It.IsAny <Dictionary <string, string> >(), It.IsAny <string>() ) ) .ReturnsAsync(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new JsonContent(new ListSalesOrders.ListSalesOrdersResponse { SalesOrders = salesOrders }) }); var baseAddress = "BaseAddress"; var sut = new SalesOrderApi( mockLogger.Object, mockHttpRequestFactory.Object, baseAddress ); //Act var response = await sut.ListSalesOrdersAsync(new ListSalesOrders.ListSalesOrdersRequest()); //Assert mockHttpRequestFactory.Verify(x => x.Get(It.IsAny <string>(), It.IsAny <Dictionary <string, string> >(), It.IsAny <string>())); response.SalesOrders[0].SalesOrderNumber.Should().Be("SO43659"); response.SalesOrders[1].SalesOrderNumber.Should().Be("SO43660"); }