using System; using Centron.BusinessLogic; using Centron.Interfaces; using Centron.Tests.EndToEnd.Infrastructure; using Xunit.Abstractions; namespace Centron.Tests.EndToEnd.Tests.SupplierReceipts { public class CompleteReceiptWithLateBookingPurchaseProcess : EndToEndTest { private const string VERIFIER_PREFIX = "CompleteReceiptWithLateBookingPurchaseProcess"; public CompleteReceiptWithLateBookingPurchaseProcess(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } public override void Execute() { var sharedCode = new SupplierReceiptTestsSharedCode(Verifier); var currentUser = GetLoggedInUser(); var customerOrderI3D = sharedCode.CreateCustomerOrder(currentUser, VERIFIER_PREFIX + "_0"); var supplierOrder = sharedCode.CreateSupplierOrderForCustomerOrder(currentUser, VERIFIER_PREFIX + "_1", customerOrderI3D); var supplierDeliveryList = sharedCode.CreateSupplierDeliveryList(currentUser, VERIFIER_PREFIX + "_2", supplierOrder.I3D, true); var supplierInvoice = sharedCode.CreateSupplierInvoice(currentUser, VERIFIER_PREFIX + "_3", supplierOrder.I3D, supplierDeliveryList.I3D); sharedCode.Verify_Receipt(currentUser, VERIFIER_PREFIX + "_4", "AfterSupplierReceipt", customerOrderI3D, CentronObjectKindNumeric.OrderClass); sharedCode.Verify_Receipt(currentUser, VERIFIER_PREFIX + "_4", "AfterSupplierReceipt", supplierOrder.I3D, CentronObjectKindNumeric.SupplierOrder); sharedCode.Verify_Receipt(currentUser, VERIFIER_PREFIX + "_4", "AfterSupplierReceipt", supplierDeliveryList.I3D, CentronObjectKindNumeric.SupplierDeliveryList); sharedCode.Verify_Receipt(currentUser, VERIFIER_PREFIX + "_4", "AfterSupplierReceipt", supplierInvoice.I3D, CentronObjectKindNumeric.SupplierInvoice); var invoice = sharedCode.CreateInvoice(currentUser, VERIFIER_PREFIX + "_5", customerOrderI3D); sharedCode.Verify_Receipt(currentUser, VERIFIER_PREFIX + "_5", "AfterInvoiceCreated", customerOrderI3D, CentronObjectKindNumeric.OrderClass); sharedCode.Verify_Receipt(currentUser, VERIFIER_PREFIX + "_5", "AfterInvoiceCreated", invoice.I3D, CentronObjectKindNumeric.InvoiceClass); } } }