Index: WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml =================================================================== diff -u -r58612 -r58703 --- WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58612) +++ WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58703) @@ -53,17 +53,21 @@ ToeleveringId:%String,OudProductId:%String,NieuwProductId:%String +%Boolean Index: vhUnitTest/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService/Test.cls.xml =================================================================== diff -u -r58612 -r58703 --- vhUnitTest/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService/Test.cls.xml (.../Test.cls.xml) (revision 58612) +++ vhUnitTest/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService/Test.cls.xml (.../Test.cls.xml) (revision 58703) @@ -78,16 +78,17 @@ #dim LoggingDetail As %String = "Toelevering-afhandeling '"_..#RandomToeleveringId_"' gefaald! " Set LoggingDetail = LoggingDetail_"De poging tot verwijderen van Toelevering '"_..#RandomToeleveringId_"', na een ProductUpdate van OudProductId '"_..#RandomOudProductId_"' naar NieuwProductId '"_..#RandomNieuwProductId Set LoggingDetail = LoggingDetail_"' op Order '1000', is gefaald, er deed zich een Exceptie voor: "_Exception.ToString() - Do LoggerMock.IndienMethodCall("Error", "ProductUpdater", LoggingDetail) + Do LoggerMock.VerwachtMethodCall("Error", "ProductUpdater", LoggingDetail) Set ..ToeleveringVoorbereidingService = ToeleveringVoorbereidingServiceStub Set ..ToeleveringApi = ToeleveringApiStub Set ..Logger = LoggerMock #dim ToeleveringService As WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService = ..GeefToeleveringService() - Do ToeleveringService.VerwerkToelevering(..#RandomToeleveringId, ..#RandomOudProductId, ..#RandomNieuwProductId) + #dim IsToeleveringVerwerkt As %Boolean = ToeleveringService.VerwerkToelevering(..#RandomToeleveringId, ..#RandomOudProductId, ..#RandomNieuwProductId) - ;Do ..Logger.Verifieer() + Do $$$AssertFalse(IsToeleveringVerwerkt) + Do ..Logger.Verifieer() ]]> @@ -106,8 +107,9 @@ Set ..Logger = LoggerMock #dim ToeleveringService As WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService = ..GeefToeleveringService() - Do ToeleveringService.VerwerkToelevering(..#RandomToeleveringId, ..#RandomOudProductId, ..#RandomNieuwProductId) + #dim IsToeleveringVerwerkt As %Boolean = ToeleveringService.VerwerkToelevering(..#RandomToeleveringId, ..#RandomOudProductId, ..#RandomNieuwProductId) + Do $$$AssertTrue(IsToeleveringVerwerkt) Do ..ToeleveringApi.Verifieer() Do ..Logger.Verifieer() ]]> @@ -140,8 +142,9 @@ Set ..Logger = LoggerMock #dim ToeleveringService As WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService = ..GeefToeleveringService() - Do ToeleveringService.VerwerkToelevering(..#RandomToeleveringId, ..#RandomOudProductId, ..#RandomNieuwProductId) + #dim IsToeleveringVerwerkt As %Boolean = ToeleveringService.VerwerkToelevering(..#RandomToeleveringId, ..#RandomOudProductId, ..#RandomNieuwProductId) + Do $$$AssertTrue(IsToeleveringVerwerkt) Do ..FlowToeService.Verifieer() Do ..Logger.Verifieer() ]]> @@ -180,8 +183,9 @@ Set ..MailApi = MailApiMock #dim ToeleveringService As WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService = ..GeefToeleveringService() - Do ToeleveringService.VerwerkToelevering(..#RandomToeleveringId, ..#RandomOudProductId, ..#RandomNieuwProductId) + #dim IsToeleveringVerwerkt As %Boolean = ToeleveringService.VerwerkToelevering(..#RandomToeleveringId, ..#RandomOudProductId, ..#RandomNieuwProductId) + Do $$$AssertFalse(IsToeleveringVerwerkt) Do ..Logger.Verifieer() Do ..MailApi.Verifieer() ]]> @@ -220,8 +224,9 @@ Set ..MailApi = MailApiMock #dim ToeleveringService As WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService = ..GeefToeleveringService() - Do ToeleveringService.VerwerkToelevering(..#RandomToeleveringId, ..#RandomOudProductId, ..#RandomNieuwProductId) + #dim IsToeleveringVerwerkt As %Boolean = ToeleveringService.VerwerkToelevering(..#RandomToeleveringId, ..#RandomOudProductId, ..#RandomNieuwProductId) + Do $$$AssertFalse(IsToeleveringVerwerkt) Do ..Logger.Verifieer() Do ..MailApi.Verifieer() ]]> Index: WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService.cls.xml =================================================================== diff -u -r58612 -r58703 --- WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService.cls.xml (.../OrderService.cls.xml) (revision 58612) +++ WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService.cls.xml (.../OrderService.cls.xml) (revision 58703) @@ -72,12 +72,15 @@ Set MagOrderLijnAangepastWorden = ((OrderLijn.%Extends("DOM.VKP.ProductOrderlijn")) && (OrderLijn.GeefProductID() = OudProductId)) If MagOrderLijnAangepastWorden { Set ToeleveringId = OrderLijn.GeefToeleveringID() - Do ..ToeleveringService.VerwerkToelevering(ToeleveringId, OudProductId, NieuwProductId) + Set IsOrderLijnAanTePassen = ..ToeleveringService.VerwerkToelevering(ToeleveringId, OudProductId, NieuwProductId) - Do OrderLijn.ZetProductID(NieuwProductId, $$$True) - Do ..OrderApi.Bewaar(Order) - - Do ..Logger.Info("ProductUpdater", "Aanpassing op Order '"_Order.GeefID()_"'. Op OrderLijn '"_OrderLijn.GeefID()_"' werd de ProductId aangepast van '"_OudProductId_"' naar '"_NieuwProductId_"'.") + If IsOrderLijnAanTePassen { + Do OrderLijn.ZetProductID(NieuwProductId, $$$True) + Do ..OrderApi.Bewaar(Order) + Do ..Logger.Info("ProductUpdater", "Aanpassing op Order '"_Order.GeefID()_"'. Op OrderLijn '"_OrderLijn.GeefID()_"' werd de ProductId aangepast van '"_OudProductId_"' naar '"_NieuwProductId_"'.") + } Else { + Do ..Logger.Warning("ProductUpdater", "GEEN aanpassing op Order '"_Order.GeefID()_"' op OrderLijn '"_OrderLijn.GeefID()_"', de Toelevering '"_ToeleveringId_"' is reeds klaargezet of in batch!") + } } } ]]> Index: vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml =================================================================== diff -u -r58612 -r58703 --- vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58612) +++ vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58703) @@ -17,7 +17,8 @@ ToeleveringId:%String,OudProductId:%String,NieuwProductId:%String -%Boolean + Index: vhUnitTest/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/Test.cls.xml =================================================================== diff -u -r58612 -r58703 --- vhUnitTest/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/Test.cls.xml (.../Test.cls.xml) (revision 58612) +++ vhUnitTest/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/Test.cls.xml (.../Test.cls.xml) (revision 58703) @@ -64,9 +64,9 @@ Do OrderApiMock.VerwachtMethodCall("Bewaar", OrderStub).DanDoeNiks().ExactAantalKeer(3) #dim ToeleveringServiceMock As WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService = ##class(vhTest.Mock.WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService).%New() - Do ToeleveringServiceMock.VerwachtMethodCall("VerwerkToelevering", 200001, ..#RandomOudProductId, ..#RandomNieuwProductId).DanDoeNiks().ExactAantalKeer(1) - Do ToeleveringServiceMock.VerwachtMethodCall("VerwerkToelevering", 200002, ..#RandomOudProductId, ..#RandomNieuwProductId).DanDoeNiks().ExactAantalKeer(1) - Do ToeleveringServiceMock.VerwachtMethodCall("VerwerkToelevering", 200003, ..#RandomOudProductId, ..#RandomNieuwProductId).DanDoeNiks().ExactAantalKeer(1) + Do ToeleveringServiceMock.VerwachtMethodCall("VerwerkToelevering", 200001, ..#RandomOudProductId, ..#RandomNieuwProductId).DanReturn($$$True).ExactAantalKeer(1) + Do ToeleveringServiceMock.VerwachtMethodCall("VerwerkToelevering", 200002, ..#RandomOudProductId, ..#RandomNieuwProductId).DanReturn($$$True).ExactAantalKeer(1) + Do ToeleveringServiceMock.VerwachtMethodCall("VerwerkToelevering", 200003, ..#RandomOudProductId, ..#RandomNieuwProductId).DanReturn($$$True).ExactAantalKeer(1) #dim LoggerMock As vhLib.Logger = ##class(vhTest.Mock.vhLib.Logger).%New() Do LoggerMock.VerwachtMethodCall("Info", "ProductUpdater", "Aanpassing op Order '"_..#RandomOrderId_"'. Op OrderLijn '"_100_"' werd de ProductId aangepast van '"_..#RandomOudProductId_"' naar '"_..#RandomNieuwProductId_"'.") @@ -86,6 +86,34 @@ ]]> + + + + ToeleveringId:%String,OudProductId:%String,NieuwProductId:%String - +%Boolean +