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
87 lines
3.2 KiB
C#
87 lines
3.2 KiB
C#
using Centron.BusinessLogic.Sales.Support;
|
|
using Centron.BusinessLogic.WebServices.Administration.Settings.SettingGroups;
|
|
using Centron.BusinessLogic.WebServices.Sales.Support;
|
|
using Centron.Data.Entities.Sales.Support;
|
|
using Centron.Data.WebServices.Sales.Support;
|
|
using Centron.Host.RestRequests;
|
|
using Centron.Interfaces.BL;
|
|
using Centron.Tests.EndToEnd.Infrastructure;
|
|
using Xunit;
|
|
using Xunit.Abstractions;
|
|
|
|
namespace Centron.Tests.EndToEnd.Tests.SaveNewSimpleTicket;
|
|
|
|
public class SaveNewSimpleTicketTests : EndToEndTest
|
|
{
|
|
public SaveNewSimpleTicketTests(ITestOutputHelper testOutputHelper)
|
|
: base(testOutputHelper)
|
|
{
|
|
}
|
|
|
|
public override void Execute()
|
|
{
|
|
this.PrepareDatabase();
|
|
|
|
var ticket1 = this.Test("1_Ticket", 10001, null, null);
|
|
var ticket2 = this.Test("2_Ticket", 10001, null, null);
|
|
var ticket3 = this.Test("3_Ticket", 10010, null, null);
|
|
|
|
var filter = new HelpdeskFilter();
|
|
|
|
var foundTickets = this.WithSession(s => s.GetBL<HelpdeskSearchWebServiceBL>().GetHelpdesksThroughPaging(
|
|
filter,
|
|
HelpdeskSort.Number,
|
|
@descending: true,
|
|
page: 1,
|
|
entriesPerPage: int.MaxValue,
|
|
this.GetLoggedInUser())).ThrowIfError().Result;
|
|
|
|
// Ensure we can find these tickets again
|
|
Assert.Contains(foundTickets, f => f.Number == ticket1.Number);
|
|
Assert.Contains(foundTickets, f => f.Number == ticket2.Number);
|
|
Assert.Contains(foundTickets, f => f.Number == ticket3.Number);
|
|
}
|
|
|
|
private void PrepareDatabase()
|
|
{
|
|
var helpdeskSettings = this.WithSession(s => s.GetBL<AppSettingsGroupWebServiceBL>().GetHelpdeskSettings());
|
|
|
|
// Reset default values
|
|
helpdeskSettings.HelpdeskAfterOpenDefaultState = null;
|
|
helpdeskSettings.HelpdeskPriorityID = null;
|
|
|
|
// Make everything mandatory
|
|
helpdeskSettings.TicketTypeRequired = true;
|
|
helpdeskSettings.TicketMainCategoryRequired = true;
|
|
helpdeskSettings.HelpdeskPriorityFieldIsRequired = true;
|
|
helpdeskSettings.TicketConnectionNumberRequired = true;
|
|
|
|
helpdeskSettings.AdditionalText1Visible = true;
|
|
helpdeskSettings.AdditionalText1Caption = "Test 1";
|
|
helpdeskSettings.AdditionalText1Required = true;
|
|
|
|
helpdeskSettings.AdditionalText2Visible = true;
|
|
helpdeskSettings.AdditionalText2Caption = "Test 2";
|
|
helpdeskSettings.AdditionalText2Required = true;
|
|
|
|
this.WithSession(s => s.GetBL<AppSettingsGroupWebServiceBL>().UpdateHelpdeskSettings(helpdeskSettings));
|
|
this.WithSession(s => s.GetBL<AppSettingsGroupWebServiceBL>().UpdateIgnoreRequiredFieldsSetting(true));
|
|
}
|
|
|
|
private HelpdeskDTO Test(string name, int customerI3D, int? addressI3D, int? contactPersonI3D)
|
|
{
|
|
var request = new SaveNewSimpleTicketRequest
|
|
{
|
|
CustomerI3D = customerI3D,
|
|
AddressI3D = addressI3D,
|
|
ShortDescription = name,
|
|
ContactPersonI3D = contactPersonI3D,
|
|
};
|
|
|
|
var ticket = this.WithSession(s => s.GetBL<HelpdeskWebServiceBL>().SaveNewSimpleTicket(request, this.GetLoggedInUser()));
|
|
|
|
this.Verifier.Verify(name, ticket);
|
|
|
|
return ticket;
|
|
}
|
|
} |