public void TestFinalizePurhcaseOrder() { var productController = new ProductController(new LoggerStub <ProductController>()); var supplierControl = new SupplierController(new LoggerStub <SupplierController>()); var products = productController.SearchProducts(string.Empty, true).Result as List <Product>; var c = string.Format("{0:000}", products.Count); var suppliers = supplierControl.Search("Test").Result as List <Supplier>; Assert.IsTrue(suppliers.Count > 0, "No Test Suppliers please run the create test suppliers test"); var supplier = suppliers.FirstOrDefault(); Assert.IsNotNull(supplier, "NULL Value in list of suppliers"); Assert.IsTrue(!string.IsNullOrEmpty(supplier.Name), "Supplier has no name"); Assert.IsTrue(!string.IsNullOrEmpty(supplier.SupplierCode), "Supplier has no supplier code"); var product = new AddProductToSupplierModel { Description = "Test product", Price = "59.99", ProductCode = $"TEST-PRODUCT-CODE-{c}", SupplierId = supplier.Id.ToString() }; Guid productId = productController.AddProductToSupplier(product).Result; var poController = new PurchaseOrderController(new LoggerStub <PurchaseOrderController>()); var poId = poController.CreatePurchaseOrder(supplier.Id).Result; Assert.IsNotNull(poId, "Purchase order controller returned NULL"); Assert.AreNotEqual(poId, Guid.Empty, "Purchase Order ID is Empty GUID"); var poiId = poController.AddProductToPurchaseOrder(poId, productId, 5); Assert.IsNotNull(poiId, "Failed to add item to purchase order"); Assert.AreNotEqual(poiId, Guid.Empty, "Purchase Order Item ID is Empty GUID"); // var finalized = poController.FinalizePurchaseOrder(poId); var finalized = poController.FinalizePurchaseOrder(poId); }