using Centron.BusinessLogic; using Centron.BusinessLogic.Sales.Receipts.DataAndResults; using Centron.BusinessLogic.WebServices.Sales.Receipts; using Centron.Interfaces; using Centron.Interfaces.Administration.Environment; using Centron.Interfaces.BL; using Centron.Interfaces.Sales.Receipts; using Centron.Tests.EndToEnd.Infrastructure; using Xunit; using Xunit.Abstractions; namespace Centron.Tests.EndToEnd.Tests.SupplierReceipts { public class DelayedSupplierInvoiceBooking : EndToEndTest { private const string VERIFIER_PREFIX = "DelayedSupplierInvoiceBooking"; public DelayedSupplierInvoiceBooking(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } public override void Execute() { var sharedCode = new SupplierReceiptTestsSharedCode(Verifier); var currentUser = GetLoggedInUser(); var customerOrderI3D = sharedCode.CreateCustomerOrder(currentUser, null); var supplierOrder = sharedCode.CreateSupplierOrderForCustomerOrder(currentUser, null, customerOrderI3D); var supplierDeliveryList = sharedCode.CreateSupplierDeliveryList(currentUser, null, supplierOrder.I3D, true); var supplierInvoice = sharedCode.CreateSupplierInvoice(currentUser, VERIFIER_PREFIX + "_0", supplierOrder.I3D, supplierDeliveryList.I3D, closeInvoice:false); // Test case special supplierInvoice.State = ReceiptState.Completed; var savedReceiptResult = new BLSession().GetBL().SaveReceipt(supplierInvoice, currentUser.User, new SaveReceiptData() { IgnoreCallbacks = true }, false, CreatedThroughApplication.CentronNet, null); Assert.True(savedReceiptResult.Status == ResultStatus.Success, savedReceiptResult.Message); sharedCode.Verify_Article_Fields(VERIFIER_PREFIX + "_1", "AfterSupplierInvoiceClosed"); sharedCode.Verify_Intake_Table(VERIFIER_PREFIX + "_1", "AfterSupplierInvoiceClosed", supplierOrder.I3D); } } }