Index: WSimpl/AX/CalculatedProduct/BouwstenenConverter.cls.xml =================================================================== diff -u -r44044 -r44049 --- WSimpl/AX/CalculatedProduct/BouwstenenConverter.cls.xml (.../BouwstenenConverter.cls.xml) (revision 44044) +++ WSimpl/AX/CalculatedProduct/BouwstenenConverter.cls.xml (.../BouwstenenConverter.cls.xml) (revision 44049) @@ -8,14 +8,20 @@ 1 + +DOM.PM.ProductAPI +1 + + -BouwsteenConverter:WSimpl.AX.CalculatedProduct.BouwsteenConverter="" +BouwsteenConverter:WSimpl.AX.CalculatedProduct.BouwsteenConverter="",ProductApi:DOM.PM.ProductAPI="" 1 1 %Status 1 @@ -50,10 +56,18 @@ While (KindBouwstenenIterator.HasNext()) { #dim KindBouwsteen As DOM.PM.Bouwstenen.BouwsteenKind = KindBouwstenenIterator.Next() + #dim KindBouwsteenBomLine As AXif.Dynamics.CalculatedProductOut.MessageParts.AxdEntityBOMLine = ..GeefBomLine(KindBouwsteen, Teller) - Do BomLines.Insert(..GeefBomLine(KindBouwsteen, Teller)) + Do BomLines.Insert(KindBouwsteenBomLine) Set Teller = Teller + 1 + + If (..ProductApi.BestaatProduct(KindBouwsteen.KindProduct.ProductNr)) { + #dim KindBouwsteenProduct As DOM.PM.Product = ..ProductApi.GeefProduct(KindBouwsteen.KindProduct.ProductNr) + #dim KindBouwsteenProductBomLines As %ListOfDataTypes = ..GeefBomLines(KindBouwsteenProduct, "") + + Do ##class(TECH.ListUtils).AppendList(BomLines, KindBouwsteenProductBomLines) + } } Quit BomLines Index: vhUnitTest/WSimpl/AX/CalculatedProduct/BouwstenenConverter/Test.cls.xml =================================================================== diff -u -r44044 -r44049 --- vhUnitTest/WSimpl/AX/CalculatedProduct/BouwstenenConverter/Test.cls.xml (.../Test.cls.xml) (revision 44044) +++ vhUnitTest/WSimpl/AX/CalculatedProduct/BouwstenenConverter/Test.cls.xml (.../Test.cls.xml) (revision 44049) @@ -54,7 +54,10 @@ Do BouwsteenConverterMock.VerwachtMethodCall("Convert", ..KindBouwstenen.GetAt(2)).DanReturn(##class(AXif.Dynamics.CalculatedProductOut.MessageParts.AxdEntityBOMLine).%New()) Do BouwsteenConverterMock.VerwachtMethodCall("Convert", ..KindBouwstenen.GetAt(3)).DanReturn(##class(AXif.Dynamics.CalculatedProductOut.MessageParts.AxdEntityBOMLine).%New()) - #dim BouwstenenConverter As WSimpl.AX.CalculatedProduct.BouwstenenConverter = ##class(WSimpl.AX.CalculatedProduct.BouwstenenConverter).%New(BouwsteenConverterMock) + #dim ProductApiStub As vhTest.Mock.DOM.PM.ProductAPI = ##class(vhTest.Mock.DOM.PM.ProductAPI).%New() + Do ProductApiStub.IndienMethodCall("BestaatProduct", $$$ElkeWaarde).DanReturn($$$False) + + #dim BouwstenenConverter As WSimpl.AX.CalculatedProduct.BouwstenenConverter = ##class(WSimpl.AX.CalculatedProduct.BouwstenenConverter).%New(BouwsteenConverterMock, ProductApiStub) #dim BomLines As %ListOfObjects = BouwstenenConverter.Convert(..ProductStub) #dim VerwachtAantalBomLines As %Integer = ..HalffabricaatBouwstenen.Count() + ..KindBouwstenen.Count() @@ -77,7 +80,10 @@ Do BouwsteenConverterStub.IndienMethodCall("Convert", ..KindBouwstenen.GetAt(2)).DanReturn(##class(AXif.Dynamics.CalculatedProductOut.MessageParts.AxdEntityBOMLine).%New()) Do BouwsteenConverterStub.IndienMethodCall("Convert", ..KindBouwstenen.GetAt(3)).DanReturn(##class(AXif.Dynamics.CalculatedProductOut.MessageParts.AxdEntityBOMLine).%New()) - #dim BouwstenenConverter As WSimpl.AX.CalculatedProduct.BouwstenenConverter = ##class(WSimpl.AX.CalculatedProduct.BouwstenenConverter).%New(BouwsteenConverterStub) + #dim ProductApiStub As vhTest.Mock.DOM.PM.ProductAPI = ##class(vhTest.Mock.DOM.PM.ProductAPI).%New() + Do ProductApiStub.IndienMethodCall("BestaatProduct", $$$ElkeWaarde).DanReturn($$$False) + + #dim BouwstenenConverter As WSimpl.AX.CalculatedProduct.BouwstenenConverter = ##class(WSimpl.AX.CalculatedProduct.BouwstenenConverter).%New(BouwsteenConverterStub, ProductApiStub) #dim BomLines As %ListOfObjects = BouwstenenConverter.Convert(..ProductStub) Do $$$AssertEquals(BomLines.GetAt(1).BOMLine, 1) @@ -88,6 +94,53 @@ Do $$$AssertEquals(BomLines.GetAt(6).BOMLine, 6) ]]> + + + +