From f463ebdd4d771d14cccf42e4177feedfcb294108 Mon Sep 17 00:00:00 2001 From: Grigoruta Cristian Date: Mon, 2 Apr 2018 16:47:53 +0300 Subject: [PATCH 1/2] The property of the parent element is used first when making a request --- .../DataGenerator/Persist/CurlHandler.php | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/Magento/FunctionalTestingFramework/DataGenerator/Persist/CurlHandler.php b/src/Magento/FunctionalTestingFramework/DataGenerator/Persist/CurlHandler.php index c72cafc25..e3433629c 100644 --- a/src/Magento/FunctionalTestingFramework/DataGenerator/Persist/CurlHandler.php +++ b/src/Magento/FunctionalTestingFramework/DataGenerator/Persist/CurlHandler.php @@ -200,13 +200,31 @@ private function resolveUrlReference($urlIn, $entityObjects) if (!empty($matchedParams)) { foreach ($matchedParams[0] as $paramKey => $paramValue) { + + $paramEntityParent = ""; + $matchedParent = []; + $dataItem = $matchedParams[1][$paramKey]; + preg_match_all("/(.+?)\./", $dataItem, $matchedParent); + + if (!empty($matchedParent) && !empty($matchedParent[0])) + { + $paramEntityParent = $matchedParent[1][0]; + $dataItem = preg_replace('/^'.$matchedParent[0][0].'/', '', $dataItem); + } + foreach ($entityObjects as $entityObject) { - $param = $entityObject->getDataByName( - $matchedParams[1][$paramKey], - EntityDataObject::CEST_UNIQUE_VALUE - ); + + if ($paramEntityParent === "" || $entityObject->getType() == $paramEntityParent) + { + $param = $entityObject->getDataByName( + $dataItem, + EntityDataObject::CEST_UNIQUE_VALUE + ); + } + if (null !== $param) { $urlOut = str_replace($paramValue, $param, $urlOut); + $param = null; continue; } } From 14d65c2ecf5d11d41e8cbeeb9d971ac470c79201 Mon Sep 17 00:00:00 2001 From: Grigoruta Cristian Date: Mon, 2 Apr 2018 17:33:56 +0300 Subject: [PATCH 2/2] Cleaned up some code --- .../DataGenerator/Persist/CurlHandler.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Magento/FunctionalTestingFramework/DataGenerator/Persist/CurlHandler.php b/src/Magento/FunctionalTestingFramework/DataGenerator/Persist/CurlHandler.php index e3433629c..c049e346f 100644 --- a/src/Magento/FunctionalTestingFramework/DataGenerator/Persist/CurlHandler.php +++ b/src/Magento/FunctionalTestingFramework/DataGenerator/Persist/CurlHandler.php @@ -206,16 +206,14 @@ private function resolveUrlReference($urlIn, $entityObjects) $dataItem = $matchedParams[1][$paramKey]; preg_match_all("/(.+?)\./", $dataItem, $matchedParent); - if (!empty($matchedParent) && !empty($matchedParent[0])) - { + if (!empty($matchedParent) && !empty($matchedParent[0])) { $paramEntityParent = $matchedParent[1][0]; $dataItem = preg_replace('/^'.$matchedParent[0][0].'/', '', $dataItem); } foreach ($entityObjects as $entityObject) { - if ($paramEntityParent === "" || $entityObject->getType() == $paramEntityParent) - { + if ($paramEntityParent === "" || $entityObject->getType() == $paramEntityParent) { $param = $entityObject->getDataByName( $dataItem, EntityDataObject::CEST_UNIQUE_VALUE