Skip to content

Commit a4cfb33

Browse files
committed
add more object actors
1 parent 4c4037b commit a4cfb33

File tree

2 files changed

+48
-2
lines changed

2 files changed

+48
-2
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,8 @@ If you want to provide some classes to install, all the definitions need to stor
113113
| `$I->haveAPimcoreObject(string $objectType, $key = 'bundle-object-test', array $params = [])` | |
114114
| `$I->haveASubPimcoreObject(DataObject $parent, string $objectType, $key = 'bundle-sub-object-test', array $params = [])`
115115
| `$I->moveObject(DataObject $object, DataObject $parentObject)` | |
116+
| `$I->copyObject(DataObject $object, DataObject $targetObject)` | |
117+
| `$I->haveAPimcoreObjectFolder($key = 'bundle-object-folder-test', array $params = [])` | |
116118
| `$I->haveAPimcoreAsset($key = 'bundle-asset-test', array $params = [])` | |
117119
| `$I->haveASubPimcoreAsset(Asset\Folder $parent, $key = 'bundle-sub-asset-test', array $params = [])` | |
118120
| `$I->haveAPimcoreAssetFolder($key = 'bundle-asset-folder-test', array $params = [])` | |

src/_support/Helper/PimcoreBackend.php

+46-2
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,50 @@ public function moveObject(DataObject $object, DataObject $parentObject)
394394
return $object;
395395
}
396396

397+
/**
398+
* Actor Function to copy object
399+
*
400+
* @param DataObject $object
401+
* @param DataObject $targetObject
402+
*
403+
* @return DataObject|Dataobject\Concrete
404+
*/
405+
public function copyObject(DataObject $object, DataObject $targetObject)
406+
{
407+
$objectService = new DataObject\Service();
408+
409+
$newObject = $objectService->copyAsChild($targetObject, $object);
410+
411+
$this->assertInstanceOf(DataObject::class, $newObject);
412+
413+
return $newObject;
414+
}
415+
416+
/**
417+
* Actor Function to create a pimcore object folder
418+
*
419+
* @param string $key
420+
* @param array $params
421+
*
422+
* @return Asset\Folder
423+
* @throws \Exception
424+
*/
425+
public function haveAPimcoreObjectFolder($key = 'bundle-object-folder-test', array $params = [])
426+
{
427+
$assetFolder = $this->generateFolder($key, 'object', $params);
428+
429+
try {
430+
$assetFolder->save();
431+
} catch (\Exception $e) {
432+
Debug::debug(sprintf('[TEST BUNDLE ERROR] error while creating object folder. message was: ' . $e->getMessage()));
433+
return null;
434+
}
435+
436+
$this->assertInstanceOf(DataObject\Folder::class, DataObject\Folder::getById($assetFolder->getId()));
437+
438+
return $assetFolder;
439+
}
440+
397441
/**
398442
* Actor Function to create a pimcore asset
399443
*
@@ -465,7 +509,7 @@ public function haveAPimcoreAssetFolder($key = 'bundle-asset-folder-test', array
465509
return null;
466510
}
467511

468-
$this->assertInstanceOf(Asset::class, Asset::getById($assetFolder->getId()));
512+
$this->assertInstanceOf(Asset\Folder::class, Asset\Folder::getById($assetFolder->getId()));
469513

470514
return $assetFolder;
471515
}
@@ -491,7 +535,7 @@ public function haveASubPimcoreAssetFolder(Asset\Folder $parent, $key = 'bundle-
491535
return null;
492536
}
493537

494-
$this->assertInstanceOf(Asset::class, Asset::getById($assetFolder->getId()));
538+
$this->assertInstanceOf(Asset\Folder::class, Asset\Folder::getById($assetFolder->getId()));
495539

496540
return $assetFolder;
497541
}

0 commit comments

Comments
 (0)