public void TestInsertAndGetItemPurchase() { CrudProxy proxy = new InvoiceProxy(); InvoiceDto dto1 = this.GetUnpaidItemPurchase(); proxy.Insert(dto1); Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save."); InvoiceDto dto2 = (InvoiceDto)proxy.GetByUid(dto1.Uid); AssertEqual(dto1, dto2); }
public void TestInsertAndGetServicePurchaseWithShipToContact() { CrudProxy proxy = new InvoiceProxy(); InvoiceDto dto1 = this.GetUnpaidServicePurchase(); dto1.ShipToContactUid = MrSmith.Uid; proxy.Insert(dto1); Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save."); InvoiceDto dto2 = (InvoiceDto)proxy.GetByUid(dto1.Uid); AssertEqual(dto1, dto2); }
public void TestAutoNumberingOfPurchaseNextAvailableNumberIsAvailable() { CrudProxy proxy = new InvoiceProxy(); var dto1 = this.GetUnpaidServicePurchase(); proxy.Insert(dto1); Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save."); var savedDto = (InvoiceDto)proxy.GetByUid(dto1.Uid); AssertEqual(dto1, savedDto); Assert.IsNotNullOrEmpty(dto1.PurchaseOrderNumber); }
public void Insert1() { InvoiceProxy proxy = new InvoiceProxy(); InvoiceDto dto1 = this.GetSale1(); EmailMessageDto emailMessage = new EmailMessageDto(); emailMessage.From = ConfigurationSettings.AppSettings["NUnitTests.Email.From"]; emailMessage.To = ConfigurationSettings.AppSettings["NUnitTests.Email.To"]; emailMessage.Subject = "Invoice - Sent using NetAccounts OLA REST API (TestInsertAndEmail)."; emailMessage.Body = "Insert Invoice then email."; proxy.InsertAndEmail(dto1, emailMessage); Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save."); // // Ensure IsSent is updated. // dto1 = (InvoiceDto)proxy.GetByUid(dto1.Uid); Assert.IsTrue(dto1.IsSent, "Invoice should have been sent."); }
//Should select next available number after taken one. public void TestAutoNumberingOfPurchaseNextAvailableNumberNotAvailable() { CrudProxy proxy = new InvoiceProxy(); var dto1 = this.GetUnpaidServicePurchase(); proxy.Insert(dto1); Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save."); string alphaComponent; var numericalComponentDto1 = GetNumericalComponentOfPurchaseNumber(dto1.PurchaseOrderNumber, out alphaComponent); Assert.IsNotNull(numericalComponentDto1, "PurchaseOrderNumber returned did not contain a numerical component"); //manually insert an invoice. var nextAvailablePONumber = alphaComponent + (numericalComponentDto1 + 1).ToString(); var dto2 = this.GetUnpaidServicePurchase(nextAvailablePONumber); proxy.Insert(dto2); Assert.IsTrue(dto2.Uid > 0, "Uid must be > 0 after save."); //create next auto numbering invoice. var dto3 = this.GetUnpaidServicePurchase(); proxy.Insert(dto3); Assert.IsTrue(dto3.Uid > 0, "Uid must be > 0 after save."); var savedDto = (InvoiceDto)proxy.GetByUid(dto3.Uid); Assert.IsNotNull(savedDto.PurchaseOrderNumber); Assert.AreEqual(savedDto.PurchaseOrderNumber, alphaComponent + (numericalComponentDto1 + 2).ToString()); }
public void TestInsertAndGetItemPurchase_Invoice_Totals_Test() { //Arange var proxy = new InvoiceProxy(); var input = GetUnpaidItemPurchase(); input.Items.Clear(); var item = new ItemInvoiceItemDto { Quantity = 100, InventoryItemUid = this.HardDisk.Uid, Description = this.HardDisk.Description, TaxCode = TaxCode.SaleInclGst, UnitPriceInclTax = 99.95M }; input.Items.Add(item); item = new ItemInvoiceItemDto { Quantity = 5000, InventoryItemUid = this.Cat5Cable.Uid, Description = this.Cat5Cable.Description, TaxCode = TaxCode.SaleInclGst, UnitPriceInclTax = 0.95M }; input.Items.Add(item); //act var item1 = ((ItemInvoiceItemDto)input.Items[0]); var item2 = ((ItemInvoiceItemDto)input.Items[1]); var totalItem1 = (item1.UnitPriceInclTax * item1.Quantity); var totalItem2 = (item2.UnitPriceInclTax * item2.Quantity); var totalTax1 = totalItem1 - (Math.Round(totalItem1 / (1 + 0.100000m), 2, MidpointRounding.AwayFromZero)); var totalTax2 = totalItem2 - (Math.Round(totalItem2 / (1 + 0.100000m), 2, MidpointRounding.AwayFromZero)); proxy.Insert(input); var output = (InvoiceDto)proxy.GetByUid(input.Uid); var outputLineItem1 = ((ItemInvoiceItemDto)output.Items[0]); var outputLineItem2 = ((ItemInvoiceItemDto)output.Items[1]); //assert //Test Line Item Totals. Assert.AreEqual(outputLineItem1.TotalAmountInclTax, totalItem1); Assert.AreEqual(outputLineItem1.TotalTaxAmount, totalTax1); Assert.AreEqual(outputLineItem1.TotalAmountExclTax, outputLineItem1.TotalAmountInclTax - totalTax1); Assert.AreEqual(outputLineItem2.TotalAmountInclTax, totalItem2); Assert.AreEqual(outputLineItem2.TotalTaxAmount, totalTax2); Assert.AreEqual(outputLineItem2.TotalAmountExclTax, outputLineItem2.TotalAmountInclTax - totalTax2); //Test Invoice Totals. Assert.AreEqual(output.TotalAmountInclTax, outputLineItem1.TotalAmountInclTax + outputLineItem2.TotalAmountInclTax); Assert.AreEqual(output.TotalTaxAmount, outputLineItem1.TotalTaxAmount + outputLineItem2.TotalTaxAmount); Assert.AreEqual(output.TotalAmountExclTax, outputLineItem1.TotalAmountExclTax + outputLineItem2.TotalAmountExclTax); }