using System.Linq; using Centron.BusinessLogic; using Centron.BusinessLogic.Warehousing.InventoryManagement; using Centron.BusinessLogic.WebServices.Warehousing.InventoryManagement; using Centron.Data.WebServices.Merchandise.MaterialGroups; using Centron.Tests.EndToEnd.Infrastructure; using Xunit.Abstractions; namespace Centron.Tests.EndToEnd.Tests.MaterialGroups; public class MaterialGroupTests : EndToEndTest { public MaterialGroupTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } public const int MaterialGroupI3D = 3; // Dienstleistung public const int SecondaryMaterialGroupI3D = 3; // Kulanz public override void Execute() { this.SetGoodWillMaterialGroup(); this.SetGoodWillSecondaryMaterialGroup(); } private void SetGoodWillMaterialGroup() { // Load material group MaterialGroupDTO materialGroup; using (var session = new BLSession()) { var materialGroups = session.GetBL().GetMaterialGroups(new MaterialGroupFilter { I3D = MaterialGroupI3D }); this.Verifier.Verify("MaterialGroups", materialGroups); materialGroup = materialGroups.Single(); } // Set GoodWill to true materialGroup.IsGoodWillMaterialGroup = true; // Save material group using (var session = new BLSession()) { var saveResult = session.GetBL().UpdateMaterialGroup(materialGroup, this.GetLoggedInUser().User); this.Verifier.Verify("MaterialGroupSaveResult", saveResult); } // Load it again using (var session = new BLSession()) { var materialGroups = session.GetBL().GetMaterialGroups(new MaterialGroupFilter { I3D = MaterialGroupI3D }); this.Verifier.Verify("MaterialGroupsAfterSave", materialGroups); } } private void SetGoodWillSecondaryMaterialGroup() { // Load secondary material group SecondaryMaterialGroupDTO secondaryMaterialGroup; using (var session = new BLSession()) { var materialGroups = session.GetBL().GetSecondaryMaterialGroups(new SecondaryMaterialGroupFilter { I3D = SecondaryMaterialGroupI3D }); this.Verifier.Verify("SecondaryMaterialGroups", materialGroups); secondaryMaterialGroup = materialGroups.Single(); } // Set GoodWill to true secondaryMaterialGroup.IsGoodWillMaterialGroup = true; // Save secondary material group using (var session = new BLSession()) { var saveResult = session.GetBL().UpdateSecondaryMaterialGroup(secondaryMaterialGroup, this.GetLoggedInUser().User); this.Verifier.Verify("SecondaryMaterialGroupSaveResult", saveResult); } // Load it again using (var session = new BLSession()) { var materialGroups = session.GetBL().GetSecondaryMaterialGroups(new SecondaryMaterialGroupFilter { I3D = MaterialGroupI3D }); this.Verifier.Verify("SecondaryMaterialGroupsAfterSave", materialGroups); } } }