Skip to content

Commit 780c597

Browse files
authored
Merge branch 'develop' into MQE-1024
2 parents 343246b + aff7f67 commit 780c597

File tree

53 files changed

+1548
-220
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1548
-220
lines changed

composer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"epfremme/swagger-php": "^2.0",
1717
"flow/jsonpath": ">0.2",
1818
"fzaninotto/faker": "^1.6",
19+
"monolog/monolog": "^1.0",
1920
"mustache/mustache": "~2.5",
2021
"symfony/process": "^2.8 || ^3.1 || ^4.0",
2122
"vlucas/phpdotenv": "^2.4"

composer.lock

Lines changed: 78 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dev/tests/unit/Magento/FunctionalTestFramework/DataGenerator/Handlers/DataObjectHandlerTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
use Magento\FunctionalTestingFramework\DataGenerator\Parsers\DataProfileSchemaParser;
1313
use Magento\FunctionalTestingFramework\ObjectManager;
1414
use Magento\FunctionalTestingFramework\ObjectManagerFactory;
15-
use PHPUnit\Framework\TestCase;
15+
use Magento\FunctionalTestingFramework\Util\MagentoTestCase;
1616

1717
/**
1818
* Class DataObjectHandlerTest
1919
*/
20-
class DataObjectHandlerTest extends TestCase
20+
class DataObjectHandlerTest extends MagentoTestCase
2121
{
2222
// All tests share this array, feel free to add but be careful modifying or removing
2323
const PARSER_OUTPUT = [

dev/tests/unit/Magento/FunctionalTestFramework/DataGenerator/Handlers/OperationDefinitionObjectHandlerTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313
use Magento\FunctionalTestingFramework\ObjectManagerFactory;
1414
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\OperationDefinitionObjectHandler;
1515
use Magento\FunctionalTestingFramework\DataGenerator\Parsers\OperationDefinitionParser;
16-
use PHPUnit\Framework\TestCase;
16+
use Magento\FunctionalTestingFramework\Util\MagentoTestCase;
1717

1818
/**
1919
* Class OperationDefinitionObjectHandlerTest
2020
*/
21-
class OperationDefinitionObjectHandlerTest extends TestCase
21+
class OperationDefinitionObjectHandlerTest extends MagentoTestCase
2222
{
2323
public function testGetMultipleObjects()
2424
{

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

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66

77
namespace Magento\FunctionalTestingFramework\DataGenerator\Objects;
88

9-
use PHPUnit\Framework\TestCase;
9+
use Magento\FunctionalTestingFramework\Util\MagentoTestCase;
10+
use tests\unit\Util\TestLoggingUtil;
1011

1112
/**
1213
* The following function declarations override the global function_exists and declare msq/msqs for use
@@ -32,8 +33,17 @@ function msqs($id = null)
3233
/**
3334
* Class EntityDataObjectTest
3435
*/
35-
class EntityDataObjectTest extends TestCase
36+
class EntityDataObjectTest extends MagentoTestCase
3637
{
38+
/**
39+
* Before test functionality
40+
* @return void
41+
*/
42+
public function setUp()
43+
{
44+
TestLoggingUtil::getInstance()->setMockLoggingUtil();
45+
}
46+
3747
public function testBasicGetters()
3848
{
3949
$data = ["datakey1" => "value1"];
@@ -109,4 +119,13 @@ public function testGetLinkedEntities()
109119
$this->assertEquals("linkedEntity1", $dataObject->getLinkedEntitiesOfType("linkedEntityType")[0]);
110120
$this->assertEquals("linkedEntity2", $dataObject->getLinkedEntitiesOfType("otherEntityType")[0]);
111121
}
122+
123+
/**
124+
* After class functionality
125+
* @return void
126+
*/
127+
public static function tearDownAfterClass()
128+
{
129+
TestLoggingUtil::getInstance()->clearMockLoggingUtil();
130+
}
112131
}

dev/tests/unit/Magento/FunctionalTestFramework/DataGenerator/Persist/OperationDataArrayResolverTest.php

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@
99
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;
1010
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\OperationDefinitionObjectHandler;
1111
use Magento\FunctionalTestingFramework\DataGenerator\Persist\OperationDataArrayResolver;
12-
use PHPUnit\Framework\TestCase;
12+
use Magento\FunctionalTestingFramework\Util\MagentoTestCase;
1313
use tests\unit\Util\EntityDataObjectBuilder;
1414
use tests\unit\Util\OperationDefinitionBuilder;
1515
use tests\unit\Util\OperationElementBuilder;
16+
use tests\unit\Util\TestLoggingUtil;
1617

17-
class OperationDataArrayResolverTest extends TestCase
18+
class OperationDataArrayResolverTest extends MagentoTestCase
1819
{
1920
const NESTED_METADATA_EXPECTED_RESULT = ["parentType" => [
2021
"name" => "Hopper",
@@ -35,6 +36,15 @@ class OperationDataArrayResolverTest extends TestCase
3536
]
3637
]];
3738

39+
/**
40+
* Before test functionality
41+
* @return void
42+
*/
43+
public function setUp()
44+
{
45+
TestLoggingUtil::getInstance()->setMockLoggingUtil();
46+
}
47+
3848
/**
3949
* Test a basic metadata resolve between primitive values and a primitive data set
4050
* <object>
@@ -344,4 +354,13 @@ public function testNestedMetadataArrayOfValue()
344354
// Do assert on result here
345355
$this->assertEquals(self::NESTED_METADATA_ARRAY_RESULT, $result);
346356
}
357+
358+
/**
359+
* After class functionality
360+
* @return void
361+
*/
362+
public static function tearDownAfterClass()
363+
{
364+
TestLoggingUtil::getInstance()->clearMockLoggingUtil();
365+
}
347366
}
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
namespace Magento\FunctionalTestingFramework\DataGenerator\Objects;
8+
9+
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;
10+
use Magento\FunctionalTestingFramework\DataGenerator\Parsers\DataProfileSchemaParser;
11+
use Magento\FunctionalTestingFramework\ObjectManager\ObjectManager;
12+
use Magento\FunctionalTestingFramework\ObjectManagerFactory;
13+
use Magento\FunctionalTestingFramework\Util\MagentoTestCase;
14+
use AspectMock\Test as AspectMock;
15+
16+
/**
17+
* Class EntityDataObjectTest
18+
*/
19+
class EntityDataExtensionTest extends MagentoTestCase
20+
{
21+
/**
22+
* Before method functionality
23+
* @return void
24+
*/
25+
protected function setUp()
26+
{
27+
AspectMock::clean();
28+
}
29+
30+
public function testNoParentData()
31+
{
32+
$extendedDataObject = [
33+
'entity' => [
34+
'extended' => [
35+
'type' => 'testType',
36+
'extends' => "parent",
37+
'data' => [
38+
0 => [
39+
'key' => 'testKey',
40+
'value' => 'testValue'
41+
]
42+
]
43+
]
44+
]
45+
];
46+
47+
$this->setMockEntities($extendedDataObject);
48+
49+
$this->expectExceptionMessage("Parent Entity parent not defined for Entity extended.");
50+
DataObjectHandler::getInstance()->getObject("extended");
51+
}
52+
53+
public function testAlreadyExtendedParentData()
54+
{
55+
$extendedDataObjects = [
56+
'entity' => [
57+
'extended' => [
58+
'type' => 'testType',
59+
'extends' => "parent"
60+
],
61+
'parent' => [
62+
'type' => 'type',
63+
'extends' => "grandparent"
64+
],
65+
'grandparent' => [
66+
'type' => 'grand'
67+
]
68+
]
69+
];
70+
71+
$this->setMockEntities($extendedDataObjects);
72+
73+
$this->expectExceptionMessage(
74+
"Cannot extend an entity that already extends another entity. Entity: parent." . PHP_EOL
75+
);
76+
DataObjectHandler::getInstance()->getObject("extended");
77+
}
78+
79+
public function testExtendedVarGetter()
80+
{
81+
$extendedDataObjects = [
82+
'entity' => [
83+
'extended' => [
84+
'type' => 'testType',
85+
'extends' => "parent"
86+
],
87+
'parent' => [
88+
'type' => 'type',
89+
'var' => [
90+
'someOtherEntity' => [
91+
'entityType' => 'someOtherEntity',
92+
'entityKey' => 'id',
93+
'key' => 'someOtherEntity'
94+
]
95+
]
96+
]
97+
]
98+
];
99+
100+
$this->setMockEntities($extendedDataObjects);
101+
$resultextendedDataObject = DataObjectHandler::getInstance()->getObject("extended");
102+
// Perform Asserts
103+
$this->assertEquals("someOtherEntity->id", $resultextendedDataObject->getVarReference("someOtherEntity"));
104+
}
105+
106+
public function testGetLinkedEntities()
107+
{
108+
$extendedDataObjects = [
109+
'entity' => [
110+
'extended' => [
111+
'type' => 'testType',
112+
'extends' => "parent"
113+
],
114+
'parent' => [
115+
'type' => 'type',
116+
'requiredEntity' => [
117+
'linkedEntity1' => [
118+
'type' => 'linkedEntityType',
119+
'value' => 'linkedEntity1'
120+
],
121+
'linkedEntity2' => [
122+
'type' => 'otherEntityType',
123+
'value' => 'linkedEntity2'
124+
],
125+
]
126+
]
127+
]
128+
];
129+
130+
$this->setMockEntities($extendedDataObjects);
131+
// Perform Asserts
132+
$resultextendedDataObject = DataObjectHandler::getInstance()->getObject("extended");
133+
$this->assertEquals("linkedEntity1", $resultextendedDataObject->getLinkedEntitiesOfType("linkedEntityType")[0]);
134+
$this->assertEquals("linkedEntity2", $resultextendedDataObject->getLinkedEntitiesOfType("otherEntityType")[0]);
135+
}
136+
137+
private function setMockEntities($mockEntityData)
138+
{
139+
$property = new \ReflectionProperty(DataObjectHandler::class, 'INSTANCE');
140+
$property->setAccessible(true);
141+
$property->setValue(null);
142+
143+
$mockDataProfileSchemaParser = AspectMock::double(DataProfileSchemaParser::class, [
144+
'readDataProfiles' => $mockEntityData
145+
])->make();
146+
147+
$mockObjectManager = AspectMock::double(ObjectManager::class, [
148+
'create' => $mockDataProfileSchemaParser
149+
])->make();
150+
151+
AspectMock::double(ObjectManagerFactory::class, [
152+
'getObjectManager' => $mockObjectManager
153+
]);
154+
}
155+
}

dev/tests/unit/Magento/FunctionalTestFramework/Page/Handlers/PageObjectHandlerTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
use Magento\FunctionalTestingFramework\ObjectManagerFactory;
1212
use Magento\FunctionalTestingFramework\Page\Handlers\PageObjectHandler;
1313
use Magento\FunctionalTestingFramework\XmlParser\PageParser;
14-
use PHPUnit\Framework\TestCase;
14+
use Magento\FunctionalTestingFramework\Util\MagentoTestCase;
1515

16-
class PageObjectHandlerTest extends TestCase
16+
class PageObjectHandlerTest extends MagentoTestCase
1717
{
1818
public function testGetPageObject()
1919
{

dev/tests/unit/Magento/FunctionalTestFramework/Page/Handlers/SectionObjectHandlerTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
use Magento\FunctionalTestingFramework\ObjectManagerFactory;
1212
use Magento\FunctionalTestingFramework\Page\Handlers\SectionObjectHandler;
1313
use Magento\FunctionalTestingFramework\XmlParser\SectionParser;
14-
use PHPUnit\Framework\TestCase;
14+
use Magento\FunctionalTestingFramework\Util\MagentoTestCase;
1515

16-
class SectionObjectHandlerTest extends TestCase
16+
class SectionObjectHandlerTest extends MagentoTestCase
1717
{
1818
public function testGetSectionObject()
1919
{

0 commit comments

Comments
 (0)