diff --git a/dev/tests/unit/Magento/FunctionalTestFramework/DataGenerator/Objects/EntityDataObjectTest.php b/dev/tests/unit/Magento/FunctionalTestFramework/DataGenerator/Objects/EntityDataObjectTest.php index 5b63f0c94..802a6c108 100644 --- a/dev/tests/unit/Magento/FunctionalTestFramework/DataGenerator/Objects/EntityDataObjectTest.php +++ b/dev/tests/unit/Magento/FunctionalTestFramework/DataGenerator/Objects/EntityDataObjectTest.php @@ -120,6 +120,23 @@ public function testGetLinkedEntities() $this->assertEquals("linkedEntity2", $dataObject->getLinkedEntitiesOfType("otherEntityType")[0]); } + public function testGetCamelCaseKeys() + { + $data = [ + "lowercasekey1" => "value1", + "camelCaseKey2" => "value2", + "lowercasekey3" => "value3", + "camelCaseKey4" => "value4" + ]; + + $dataObject = new EntityDataObject("name", "type", $data, null, null, null); + + $this->assertEquals("value1", $dataObject->getDataByName("lowercasekey1", 0)); + $this->assertEquals("value2", $dataObject->getDataByName("camelCaseKey2", 0)); + $this->assertEquals("value3", $dataObject->getDataByName("lowercasekey3", 0)); + $this->assertEquals("value4", $dataObject->getDataByName("camelCaseKey4", 0)); + } + /** * After class functionality * @return void diff --git a/docs/mftf-tests.md b/docs/mftf-tests.md index 718806aa5..b9d94baa9 100644 --- a/docs/mftf-tests.md +++ b/docs/mftf-tests.md @@ -1,22 +1,19 @@ ---- -layout: full-width -title: MFTF Tests ---- + +# MFTF functional test reference + The Magento Functional Testing Framework runs tests on every Module within Magento. These files are stored within each Module folder in the Magento repo. This page lists all those tests so that developers can have a good sense of what is covered. -{% assign mftf = site.data.mftf | group_by: "module" | sort: "name" %} +{% include mftf/mftf_data.md %} {% for item in mftf %} diff --git a/src/Magento/FunctionalTestingFramework/DataGenerator/Objects/EntityDataObject.php b/src/Magento/FunctionalTestingFramework/DataGenerator/Objects/EntityDataObject.php index 070a08bf1..09c95df9e 100644 --- a/src/Magento/FunctionalTestingFramework/DataGenerator/Objects/EntityDataObject.php +++ b/src/Magento/FunctionalTestingFramework/DataGenerator/Objects/EntityDataObject.php @@ -177,15 +177,22 @@ public function getDataByName($name, $uniquenessFormat) $name_lower = strtolower($name); - if ($this->data !== null && array_key_exists($name_lower, $this->data)) { + if ($this->data === null) { + return null; + } + + if (array_key_exists($name_lower, $this->data)) { $uniquenessData = $this->getUniquenessDataByName($name_lower); if (null === $uniquenessData || $uniquenessFormat == self::NO_UNIQUE_PROCESS) { return $this->data[$name_lower]; } return $this->formatUniqueData($name_lower, $uniquenessData, $uniquenessFormat); + } elseif (array_key_exists($name, $this->data)) { + // Data returned by the API may be camelCase so we need to check for the original $name also. + return $this->data[$name]; + } else { + return null; } - - return null; } /**