From f8ac3d20007c5c19c2f21ca493f3a917d13907fc Mon Sep 17 00:00:00 2001 From: Alex Kolesnyk Date: Wed, 13 May 2020 11:20:47 -0500 Subject: [PATCH 1/4] MQE-2126: Can't modify DataEntity data --- .../DevDocs/Data/DeprecatedMessageData.xml | 3 +++ .../MFTF/DevDocs/Data/ExtendMessageData.xml | 16 +++++++++++ .../tests/MFTF/DevDocs/Data/MessageData.xml | 6 +++++ .../tests/MFTF/DevDocs/Test/DevDocsTest.xml | 1 + etc/di.xml | 1 + .../DataGenerator/etc/dataProfileSchema.xsd | 27 ++++++++++++++----- 6 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 dev/tests/functional/tests/MFTF/DevDocs/Data/ExtendMessageData.xml diff --git a/dev/tests/functional/tests/MFTF/DevDocs/Data/DeprecatedMessageData.xml b/dev/tests/functional/tests/MFTF/DevDocs/Data/DeprecatedMessageData.xml index 1c2462c2f..ba1460a60 100644 --- a/dev/tests/functional/tests/MFTF/DevDocs/Data/DeprecatedMessageData.xml +++ b/dev/tests/functional/tests/MFTF/DevDocs/Data/DeprecatedMessageData.xml @@ -11,4 +11,7 @@ Introduction to the Magento Functional Testing Framework + + Some data + diff --git a/dev/tests/functional/tests/MFTF/DevDocs/Data/ExtendMessageData.xml b/dev/tests/functional/tests/MFTF/DevDocs/Data/ExtendMessageData.xml new file mode 100644 index 000000000..040b80597 --- /dev/null +++ b/dev/tests/functional/tests/MFTF/DevDocs/Data/ExtendMessageData.xml @@ -0,0 +1,16 @@ + + + + + + + Something New + + + diff --git a/dev/tests/functional/tests/MFTF/DevDocs/Data/MessageData.xml b/dev/tests/functional/tests/MFTF/DevDocs/Data/MessageData.xml index 9c34b5672..2b9d3a520 100644 --- a/dev/tests/functional/tests/MFTF/DevDocs/Data/MessageData.xml +++ b/dev/tests/functional/tests/MFTF/DevDocs/Data/MessageData.xml @@ -10,5 +10,11 @@ xsi:noNamespaceSchemaLocation="urn:magento:mftf:DataGenerator/etc/dataProfileSchema.xsd"> Introduction to the Magento Functional Testing Framework + + 0 + 1 + 2 + 3 + diff --git a/dev/tests/functional/tests/MFTF/DevDocs/Test/DevDocsTest.xml b/dev/tests/functional/tests/MFTF/DevDocs/Test/DevDocsTest.xml index 3470a2440..3ac6c4c3a 100644 --- a/dev/tests/functional/tests/MFTF/DevDocs/Test/DevDocsTest.xml +++ b/dev/tests/functional/tests/MFTF/DevDocs/Test/DevDocsTest.xml @@ -46,5 +46,6 @@ + diff --git a/etc/di.xml b/etc/di.xml index f6a89fcb0..1d331e32b 100644 --- a/etc/di.xml +++ b/etc/di.xml @@ -157,6 +157,7 @@ name key + name type diff --git a/src/Magento/FunctionalTestingFramework/DataGenerator/etc/dataProfileSchema.xsd b/src/Magento/FunctionalTestingFramework/DataGenerator/etc/dataProfileSchema.xsd index 9d0d8bb35..923f7c48f 100644 --- a/src/Magento/FunctionalTestingFramework/DataGenerator/etc/dataProfileSchema.xsd +++ b/src/Magento/FunctionalTestingFramework/DataGenerator/etc/dataProfileSchema.xsd @@ -118,17 +118,32 @@ - - - - Individual piece of data to be passed in as part of the parrent array type. - - + + + + Individual piece of data to be passed in as part of the parrent array type. + + + + + + + + + + Key attribute of item pair. + + + + + + + From 56d8288e72463df47f39578104e15be6c24da7c7 Mon Sep 17 00:00:00 2001 From: Alex Kolesnyk Date: Wed, 13 May 2020 13:16:53 -0500 Subject: [PATCH 2/4] MQE-2126: Can't modify DataEntity data --- .../DataGenerator/Config/Dom.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Magento/FunctionalTestingFramework/DataGenerator/Config/Dom.php b/src/Magento/FunctionalTestingFramework/DataGenerator/Config/Dom.php index d4b8f7c8f..ab55b0a63 100644 --- a/src/Magento/FunctionalTestingFramework/DataGenerator/Config/Dom.php +++ b/src/Magento/FunctionalTestingFramework/DataGenerator/Config/Dom.php @@ -81,6 +81,13 @@ public function initDom($xml, $filename = null) } } + $itemNodes = $dom->getElementsByTagName('item'); + foreach ($itemNodes as $itemKey => $itemNode) { + if ($itemNode->hasAttribute("name") === false) { + $itemNode->setAttribute("name", (string)$itemKey); + } + } + return $dom; } } From cfbc5c0204972f944a754aaae54fe096d658ca8a Mon Sep 17 00:00:00 2001 From: Alex Kolesnyk Date: Wed, 13 May 2020 14:22:50 -0500 Subject: [PATCH 3/4] MQE-2126: Can't modify DataEntity data --- src/Magento/FunctionalTestingFramework/Config/Dom.php | 4 ++-- .../FunctionalTestingFramework/DataGenerator/Config/Dom.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Magento/FunctionalTestingFramework/Config/Dom.php b/src/Magento/FunctionalTestingFramework/Config/Dom.php index 6d10811ca..881b677dc 100644 --- a/src/Magento/FunctionalTestingFramework/Config/Dom.php +++ b/src/Magento/FunctionalTestingFramework/Config/Dom.php @@ -246,8 +246,8 @@ protected function getNodePathByParent(\DOMElement $node, $parentPath) $idAttribute = $this->nodeMergingConfig->getIdAttribute($path); if ($idAttribute) { foreach (explode('|', $idAttribute) as $idAttributeValue) { - if ($value = $node->getAttribute($idAttributeValue)) { - $path .= "[@{$idAttributeValue}='{$value}']"; + if ($node->hasAttribute($idAttributeValue)) { + $path .= "[@{$idAttributeValue}='" . $node->getAttribute($idAttributeValue) . "']"; break; } } diff --git a/src/Magento/FunctionalTestingFramework/DataGenerator/Config/Dom.php b/src/Magento/FunctionalTestingFramework/DataGenerator/Config/Dom.php index ab55b0a63..bc19c35aa 100644 --- a/src/Magento/FunctionalTestingFramework/DataGenerator/Config/Dom.php +++ b/src/Magento/FunctionalTestingFramework/DataGenerator/Config/Dom.php @@ -82,12 +82,12 @@ public function initDom($xml, $filename = null) } $itemNodes = $dom->getElementsByTagName('item'); + /** @var \DOMElement $itemNode */ foreach ($itemNodes as $itemKey => $itemNode) { - if ($itemNode->hasAttribute("name") === false) { + if ($itemNode->hasAttribute("name") == false) { $itemNode->setAttribute("name", (string)$itemKey); } } - return $dom; } } From c1aa91822a7ad5c56cd5743170bbfd9ac8009d15 Mon Sep 17 00:00:00 2001 From: Alex Kolesnyk Date: Wed, 13 May 2020 14:29:59 -0500 Subject: [PATCH 4/4] MQE-2126: Can't modify DataEntity data - code review updates --- .../functional/tests/MFTF/DevDocs/Test/DevDocsTest.xml | 6 +++++- docs/data.md | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/dev/tests/functional/tests/MFTF/DevDocs/Test/DevDocsTest.xml b/dev/tests/functional/tests/MFTF/DevDocs/Test/DevDocsTest.xml index 3ac6c4c3a..02d6481a8 100644 --- a/dev/tests/functional/tests/MFTF/DevDocs/Test/DevDocsTest.xml +++ b/dev/tests/functional/tests/MFTF/DevDocs/Test/DevDocsTest.xml @@ -46,6 +46,10 @@ - + + + {{MessageData.numbers}} + ["Something New", "0", "1", "2", "3"] + diff --git a/docs/data.md b/docs/data.md index fa4c90dcf..8b0a86e3d 100644 --- a/docs/data.md +++ b/docs/data.md @@ -276,6 +276,11 @@ Attributes|Type|Use|Description `` is an individual piece of data to be passed in as part of the parent `` type. +Attributes|Type|Use|Description +---|---|---|--- +`name`|string|optional|Key attribute of entity in which to assign a value. By default numeric key will be generated. + + [``]: #array-tag [``]: #data-tag