using Centron.BusinessLogic.EmployeeArea; using Centron.BusinessLogic.Sales.Receipts.DataAndResults; using Centron.BusinessLogic.WebServices.Sales.Receipts; using Centron.Data.Entities.Administration; using Centron.Data.Entities.Administration.Logins; using Centron.Data.WebServices.Sales.Receipts.Orders; using Centron.Interfaces; using Centron.Interfaces.Administration.Environment; using Centron.Interfaces.BL; using Centron.Tests.EndToEnd.Infrastructure; using Xunit; using Xunit.Abstractions; namespace Centron.Tests.EndToEnd.Tests.ReceiptTemplate { public class ReceiptTemplateTest : EndToEndTest { public ReceiptTemplateTest(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } public override void Execute() { this.CreateNewOrderTemplate(); this.ValidateGetTemplateStructure(); } private void ValidateGetTemplateStructure() { var user = WithSession(f => f.GetBL().GetAppUser(f => f.I3D == 11)); var receiptTemplateFirstLoad = WithSession(f => f.GetBL().GetTemplateStructure(user)); this.Verifier.Verify("ReceiptTemplateFirstLoad", receiptTemplateFirstLoad); var receiptTemplateOnlyAllowedLoad = WithSession(f => f.GetBL().GetTemplateStructure(user, CentronObjectKindNumeric.OrderClass)); this.Verifier.Verify("ReceiptTemplateOnlyAllowedLoad", receiptTemplateOnlyAllowedLoad); var receiptTemplateSecondLoad = WithSession(f => f.GetBL().GetTemplateStructure(user)); this.Verifier.Verify("ReceiptTemplateFirstLoad", receiptTemplateSecondLoad); } private void CreateNewOrderTemplate() { var user = WithSession(f => f.GetBL().GetAppUser(f => f.I3D == 11)); var order = this.GetOrder(user); var template = WithSession(f => f.GetBL().SaveReceipt(order, user, new SaveReceiptData { ReceiptTemplateName = "Auftragsvorlage", IgnoreCallbacks = true, }, autoLockIfNewReceipt: false, application: CreatedThroughApplication.WebServices, receiptTemplateFolderI3D: 2 ).ThrowIfError()); this.Verifier.Verify("CreateNewOrderTemplate", template); } private ReceiptOrderDTO GetOrder(AppUser user) { var newOrderResult = WithSession(f => f.GetBL().CreateNewReceipt( CentronObjectKindNumeric.OrderClass, new LoggedInUser(user), 10025, new CreateReceiptData() { IgnoreCallbacks = true }, null, null, false, true, false)); Assert.True(newOrderResult.Status == ResultStatus.Success, newOrderResult.Message); return (ReceiptOrderDTO)newOrderResult.Data.Receipt; } } }