Skip to content

Commit 85c14a0

Browse files
authored
Merge pull request #406 from magento/MQE-1306
MQE-1306: Can not get actual entity data
2 parents 656f819 + b1adef4 commit 85c14a0

File tree

2 files changed

+27
-3
lines changed

2 files changed

+27
-3
lines changed

dev/tests/unit/Magento/FunctionalTestFramework/DataGenerator/Objects/EntityDataObjectTest.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,23 @@ public function testGetLinkedEntities()
120120
$this->assertEquals("linkedEntity2", $dataObject->getLinkedEntitiesOfType("otherEntityType")[0]);
121121
}
122122

123+
public function testGetCamelCaseKeys()
124+
{
125+
$data = [
126+
"lowercasekey1" => "value1",
127+
"camelCaseKey2" => "value2",
128+
"lowercasekey3" => "value3",
129+
"camelCaseKey4" => "value4"
130+
];
131+
132+
$dataObject = new EntityDataObject("name", "type", $data, null, null, null);
133+
134+
$this->assertEquals("value1", $dataObject->getDataByName("lowercasekey1", 0));
135+
$this->assertEquals("value2", $dataObject->getDataByName("camelCaseKey2", 0));
136+
$this->assertEquals("value3", $dataObject->getDataByName("lowercasekey3", 0));
137+
$this->assertEquals("value4", $dataObject->getDataByName("camelCaseKey4", 0));
138+
}
139+
123140
/**
124141
* After class functionality
125142
* @return void

src/Magento/FunctionalTestingFramework/DataGenerator/Objects/EntityDataObject.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,15 +177,22 @@ public function getDataByName($name, $uniquenessFormat)
177177

178178
$name_lower = strtolower($name);
179179

180-
if ($this->data !== null && array_key_exists($name_lower, $this->data)) {
180+
if ($this->data === null) {
181+
return null;
182+
}
183+
184+
if (array_key_exists($name_lower, $this->data)) {
181185
$uniquenessData = $this->getUniquenessDataByName($name_lower);
182186
if (null === $uniquenessData || $uniquenessFormat == self::NO_UNIQUE_PROCESS) {
183187
return $this->data[$name_lower];
184188
}
185189
return $this->formatUniqueData($name_lower, $uniquenessData, $uniquenessFormat);
190+
} elseif (array_key_exists($name, $this->data)) {
191+
// Data returned by the API may be camelCase so we need to check for the original $name also.
192+
return $this->data[$name];
193+
} else {
194+
return null;
186195
}
187-
188-
return null;
189196
}
190197

191198
/**

0 commit comments

Comments
 (0)