QuellCode/CentronERP war nur als Gitlink (Submodul-Referenz auf 79c1142) getrackt, ohne .gitmodules und ohne erreichbares Remote. Der Untersuchungsgegenstand der Versuchsreihe war damit nicht reproduzierbar gesichert: Ein Klon haette ein leeres Verzeichnis erhalten, und die Belege der 3.287 Anforderungen waeren nicht ueberpruefbar gewesen. Umstellung: - Historie nach c:\DEV\CentronERP_git_snapshot_79c1142 ausgelagert (vollstaendig lesbar, enthaelt 79c1142 und Vorgaenger 89ccfd6) - Gitlink aus dem Index entfernt - Dateiinhalt aufgenommen: 24.557 Dateien, rund 333 MB Die verschachtelte .gitignore der Codebasis gilt weiter, Build-Artefakte bleiben ausgeschlossen. Details in Versuche/Versuch_01/_Codebasis-Nachweis.md
118 lines
4.2 KiB
C#
118 lines
4.2 KiB
C#
using Centron.BusinessLogic;
|
|
using Centron.BusinessLogic.Administration.Settings;
|
|
using Centron.BusinessLogic.Sales.Receipts.DataAndResults;
|
|
using Centron.BusinessLogic.WebServices.Sales.Receipts;
|
|
using Centron.BusinessLogic.WebServices.Sales.Receipts.DataAndResults;
|
|
using Centron.Data.WebServices.Sales.Receipts.CreditVouchers;
|
|
using Centron.Interfaces;
|
|
using Centron.Interfaces.Administration.Environment;
|
|
using Centron.Interfaces.BL;
|
|
using Centron.Tests.EndToEnd.Infrastructure;
|
|
using Xunit.Abstractions;
|
|
|
|
namespace Centron.Tests.EndToEnd.TicketTests.Ticket125608;
|
|
|
|
public class Ticket125608Tests : EndToEndTest
|
|
{
|
|
public Ticket125608Tests(ITestOutputHelper testOutputHelper)
|
|
: base(testOutputHelper)
|
|
{
|
|
}
|
|
|
|
// This customer doesn't have a RevenueIdentificationNumber nor a TaxNumber
|
|
private const int FailureCustomerI3D = 10018;
|
|
private const int FailureCreditVoucherI3D = 12;
|
|
|
|
// This customer does have a TaxNumber
|
|
private const int SuccessCustomerI3D = 10003;
|
|
private const int SuccessCreditVoucherI3D = 4;
|
|
|
|
public override void Execute()
|
|
{
|
|
this.PrepareDatabase();
|
|
|
|
this.CreateNewCreditVoucher();
|
|
this.CreateNewCreditVoucherVersion();
|
|
this.SaveCreditVoucher();
|
|
}
|
|
|
|
private void CreateNewCreditVoucher()
|
|
{
|
|
Test("CreateNewCreditVoucher_Failure", FailureCustomerI3D);
|
|
Test("CreateNewCreditVoucher_Success", SuccessCustomerI3D);
|
|
|
|
void Test(string name, int customerI3D)
|
|
{
|
|
using var session = new BLSession();
|
|
|
|
var result = session.GetBL<ReceiptWebServiceBL>().CreateNewReceipt(
|
|
CentronObjectKindNumeric.CreditVoucherClass,
|
|
this.GetLoggedInUser(),
|
|
customerI3D,
|
|
new CreateReceiptData(),
|
|
addressI3D: null,
|
|
contactPersonI3D: null,
|
|
insertCustomerDiscount: true,
|
|
insertSalutationAndAgreement: true,
|
|
ignoreDefaultContract: false);
|
|
|
|
this.Verifier.Verify(name, result);
|
|
}
|
|
}
|
|
|
|
private void CreateNewCreditVoucherVersion()
|
|
{
|
|
Test("CreateNewCreditVoucherVersion_Failure", FailureCreditVoucherI3D);
|
|
Test("CreateNewCreditVoucherVersion_Success", SuccessCreditVoucherI3D);
|
|
|
|
void Test(string name, int creditVoucherI3D)
|
|
{
|
|
using var session = new BLSession();
|
|
|
|
var result = session.GetBL<ReceiptWebServiceBL>().CreateNewVersion(
|
|
CentronObjectKindNumeric.CreditVoucherClass,
|
|
creditVoucherI3D,
|
|
version: null,
|
|
newContactPersonI3D: null,
|
|
this.GetLoggedInUser().User,
|
|
new CreateNewVersionData
|
|
{
|
|
IgnoreCallbacks = true
|
|
});
|
|
|
|
this.Verifier.Verify(name, result);
|
|
}
|
|
}
|
|
|
|
private void SaveCreditVoucher()
|
|
{
|
|
Test("SaveCreditVoucher_Failure", FailureCreditVoucherI3D);
|
|
Test("SaveCreditVoucher_Success", SuccessCreditVoucherI3D);
|
|
|
|
void Test(string name, int creditVoucherI3D)
|
|
{
|
|
using var session = new BLSession();
|
|
|
|
var creditVoucher = (ReceiptCreditVoucherDTO)new BLSession().GetBL<ReceiptWebServiceBL>().GetReceiptByI3D(creditVoucherI3D, CentronObjectKindNumeric.CreditVoucherClass).ThrowIfError();
|
|
// creditVoucher.ReceiptReason
|
|
|
|
var result = session.GetBL<ReceiptWebServiceBL>().SaveReceipt(
|
|
creditVoucher,
|
|
this.GetLoggedInUser().User,
|
|
new SaveReceiptData(),
|
|
autoLockIfNewReceipt: false,
|
|
CreatedThroughApplication.CentronNet,
|
|
receiptTemplateFolderI3D: null);
|
|
|
|
this.Verifier.Verify(name, result);
|
|
}
|
|
}
|
|
|
|
private void PrepareDatabase()
|
|
{
|
|
// Activate the setting
|
|
this.Sql($"UPDATE dbo.Stammdat SET Wert = 1 WHERE I3D = {(int)AppSettingsConst.IsTaxNumberForCreditCreationMandatory}");
|
|
this.Sql($"UPDATE dbo.Stammdat SET Wert = 0 WHERE I3D = {(int)AppSettingsConst.QmMessageConfirmationPopupCreditVoucher}");
|
|
this.Sql($"UPDATE dbo.Kunden SET SteuerNr = 'Test' WHERE I3D = {SuccessCustomerI3D}");
|
|
}
|
|
} |