using System.Collections.Generic; using Centron.BusinessLogic.WebServices.Sales.Receipts.ReceiptSearch; using Centron.Data.WebServices.Sales.Receipts.ReceiptSearch; using Centron.Interfaces; using Centron.Interfaces.BL; using Centron.Interfaces.Sales.Receipts.ReceiptSearch; using Centron.Tests.EndToEnd.Infrastructure; using Xunit; using Xunit.Abstractions; namespace Centron.Tests.EndToEnd.Tests.ReceiptSearch { public class CreditVoucherBranchSearchTests : EndToEndTest { private const int CreditVoucherI3D = 20; private const int BranchI3D = 1; public CreditVoucherBranchSearchTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } public override void Execute() { this.Sql($"UPDATE dbo.GutKopf SET FilialI3D = {BranchI3D}, Status = 1 WHERE I3D = {CreditVoucherI3D}"); var matchingResult = this.SearchCreditVoucher(CreditVoucherI3D, BranchI3D); var matchingReceipt = Assert.Single(matchingResult.Result); Assert.Equal(CreditVoucherI3D, matchingReceipt.I3D); Assert.Equal(BranchI3D, matchingReceipt.BranchI3D); var nonMatchingResult = this.SearchCreditVoucher(CreditVoucherI3D, BranchI3D + 1); Assert.Empty(nonMatchingResult.Result); } private ReceiptSearchItemPagingDTO SearchCreditVoucher(int receiptI3D, int branchI3D) { var filter = new ReceiptSearchFilter { ReceiptKinds = new List { CentronObjectKindNumeric.CreditVoucherClass }, ReceiptI3Ds = new List { receiptI3D }, BranchI3D = branchI3D }; return this.WithSession(session => session.GetBL() .SearchReceipts(this.GetLoggedInUser(), filter, 1, int.MaxValue)) .ThrowIfError(); } } }