23 private static $INSTANCE;
29 private $hookObjects = [];
35 private $testObjects = [];
41 private $suiteObjects = [];
46 private function __construct()
59 if (!self::$INSTANCE) {
62 return self::$INSTANCE;
79 $dependentObjectKeys = [],
83 $retrievedDependentObjects = [];
84 foreach ($dependentObjectKeys as $objectKey) {
85 $retrievedDependentObjects[] = $this->retrieveEntity($objectKey, $scope);
91 $retrievedDependentObjects,
97 if ($scope == self::TEST_SCOPE) {
98 $this->testObjects[$key] = $persistedObject;
99 }
elseif ($scope == self::HOOK_SCOPE) {
100 $this->hookObjects[$key] = $persistedObject;
102 $this->suiteObjects[$key] = $persistedObject;
114 public function updateEntity($key, $scope, $updateEntity, $dependentObjectKeys = [])
116 $retrievedDependentObjects = [];
117 foreach ($dependentObjectKeys as $objectKey) {
118 $retrievedDependentObjects[] = $this->retrieveEntity($objectKey, $scope);
121 $originalEntity = $this->retrieveEntity($key, $scope);
122 $originalEntity->updateEntity($updateEntity, $retrievedDependentObjects);
133 $originalEntity = $this->retrieveEntity($key, $scope);
134 $originalEntity->deleteEntity();
149 $retrievedDependentObjects = [];
150 foreach ($dependentObjectKeys as $objectKey) {
151 $retrievedDependentObjects[] = $this->retrieveEntity($objectKey, $scope);
157 $retrievedDependentObjects
161 if ($scope == self::TEST_SCOPE) {
162 $this->testObjects[$key] = $persistedObject;
163 }
elseif ($scope == self::HOOK_SCOPE) {
164 $this->hookObjects[$key] = $persistedObject;
166 $this->suiteObjects[$key] = $persistedObject;
181 return $this->retrieveEntity($stepKey, $scope)->getCreatedDataByName($field);
191 private function retrieveEntity($stepKey, $scope)
194 $entityArrays = [$this->testObjects, $this->hookObjects, $this->suiteObjects];
196 if ($scope == self::HOOK_SCOPE) {
197 $entityArrays[0] = $this->hookObjects;
198 $entityArrays[1] = $this->testObjects;
201 foreach ($entityArrays as $entityArray) {
202 if (array_key_exists($stepKey, $entityArray)) {
203 return $entityArray[$stepKey];
207 throw new TestReferenceException(
"Entity with a CreateDataKey of {$stepKey} could not be found");
216 $this->testObjects = [];
225 $this->hookObjects = [];
234 $this->suiteObjects = [];
elseif(isset( $params[ 'redirect_parent']))
updateEntity($key, $scope, $updateEntity, $dependentObjectKeys=[])
deleteEntity($key, $scope)
retrieveEntityField($stepKey, $field, $scope)
createEntity( $key, $scope, $entity, $dependentObjectKeys=[], $overrideFields=[], $storeCode="")
getEntity($key, $scope, $entity, $dependentObjectKeys=[], $storeCode="", $index=null)