Skip to content

Commit 8cecb55

Browse files
committed
MQE-1379: Testing
1 parent c1964dc commit 8cecb55

File tree

2 files changed

+139
-1
lines changed

2 files changed

+139
-1
lines changed

etc/config/functional.suite.dist.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ modules:
1616
- \Magento\FunctionalTestingFramework\Helper\MagentoFakerData
1717
- \Magento\FunctionalTestingFramework\Module\MagentoSequence
1818
- \Magento\FunctionalTestingFramework\Module\MagentoAssert
19-
- \Magento\FunctionalTestingFramework\Module\MagentoActionProxies
2019
- Asserts
2120
config:
2221
\Magento\FunctionalTestingFramework\Module\MagentoWebDriver:

src/Magento/FunctionalTestingFramework/Module/MagentoAssert.php

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@
66

77
namespace Magento\FunctionalTestingFramework\Module;
88

9+
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\CredentialStore;
10+
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\PersistedObjectHandler;
11+
use Magento\FunctionalTestingFramework\Exceptions\TestFrameworkException;
12+
913
/**
1014
* Class MagentoAssert
1115
*
@@ -15,6 +19,13 @@
1519
*/
1620
class MagentoAssert extends \Codeception\Module
1721
{
22+
/**
23+
* PersistedObjectHandler instance
24+
*
25+
* @var PersistedObjectHandler
26+
*/
27+
private static $persistHandler = null;
28+
1829
/**
1930
* Asserts that all items in the array are sorted by given direction. Can be given int, string, double, dates.
2031
* Converts given date strings to epoch for comparison.
@@ -48,4 +59,132 @@ public function assertArrayIsSorted(array $data, $sortOrder = "asc")
4859
}
4960
}
5061
}
62+
63+
/**
64+
* Create an entity
65+
*
66+
* @param string $key StepKey of the createData action.
67+
* @param string $scope
68+
* @param string $entity Name of xml entity to create.
69+
* @param array $dependentObjectKeys StepKeys of other createData actions that are required.
70+
* @param array $overrideFields Array of FieldName => Value of override fields.
71+
* @param string $storeCode
72+
* @return void
73+
*/
74+
public function createEntity(
75+
$key,
76+
$scope,
77+
$entity,
78+
$dependentObjectKeys = [],
79+
$overrideFields = [],
80+
$storeCode = ''
81+
) {
82+
if (!self::$persistHandler) {
83+
self::$persistHandler = PersistedObjectHandler::getInstance();
84+
}
85+
86+
self::$persistHandler->createEntity(
87+
$key,
88+
$scope,
89+
$entity,
90+
$dependentObjectKeys,
91+
$overrideFields,
92+
$storeCode
93+
);
94+
}
95+
96+
/**
97+
* Retrieves and updates a previously created entity
98+
*
99+
* @param string $key StepKey of the createData action.
100+
* @param string $scope
101+
* @param string $updateEntity Name of the static XML data to update the entity with.
102+
* @param array $dependentObjectKeys StepKeys of other createData actions that are required.
103+
* @return void
104+
*/
105+
public function updateEntity($key, $scope, $updateEntity, $dependentObjectKeys = [])
106+
{
107+
if (!self::$persistHandler) {
108+
self::$persistHandler = PersistedObjectHandler::getInstance();
109+
}
110+
111+
self::$persistHandler->updateEntity(
112+
$key,
113+
$scope,
114+
$updateEntity,
115+
$dependentObjectKeys
116+
);
117+
}
118+
119+
/**
120+
* Performs GET on given entity and stores entity for use
121+
*
122+
* @param string $key StepKey of getData action.
123+
* @param string $scope
124+
* @param string $entity Name of XML static data to use.
125+
* @param array $dependentObjectKeys StepKeys of other createData actions that are required.
126+
* @param string $storeCode
127+
* @param integer $index
128+
* @return void
129+
*/
130+
public function getEntity($key, $scope, $entity, $dependentObjectKeys = [], $storeCode = '', $index = null)
131+
{
132+
if (!self::$persistHandler) {
133+
self::$persistHandler = PersistedObjectHandler::getInstance();
134+
}
135+
136+
self::$persistHandler->getEntity(
137+
$key,
138+
$scope,
139+
$entity,
140+
$dependentObjectKeys,
141+
$storeCode,
142+
$index
143+
);
144+
}
145+
146+
/**
147+
* Retrieves and deletes a previously created entity
148+
*
149+
* @param string $key StepKey of the createData action.
150+
* @param string $scope
151+
* @return void
152+
*/
153+
public function deleteEntity($key, $scope)
154+
{
155+
if (!self::$persistHandler) {
156+
self::$persistHandler = PersistedObjectHandler::getInstance();
157+
}
158+
159+
self::$persistHandler->deleteEntity($key, $scope);
160+
}
161+
162+
/**
163+
* Retrieves a field from an entity, according to key and scope given
164+
*
165+
* @param string $stepKey
166+
* @param string $field
167+
* @param string $scope
168+
* @return string
169+
*/
170+
public function retrieveEntityField($stepKey, $field, $scope)
171+
{
172+
if (!self::$persistHandler) {
173+
self::$persistHandler = PersistedObjectHandler::getInstance();
174+
}
175+
176+
return self::$persistHandler->retrieveEntityField($stepKey, $field, $scope);
177+
}
178+
179+
/**
180+
* Get encrypted value by key
181+
*
182+
* @param string $key
183+
* @return string|null
184+
* @throws TestFrameworkException
185+
*/
186+
public function getSecret($key)
187+
{
188+
return CredentialStore::getInstance()->getSecret($key);
189+
}
51190
}

0 commit comments

Comments
 (0)