|
@@ 767-812 (lines=46) @@
|
| 764 |
|
* @depends testLoadObjectStateGroup |
| 765 |
|
* @depends testNewObjectStateCreateStruct |
| 766 |
|
*/ |
| 767 |
|
public function testCreateObjectState() |
| 768 |
|
{ |
| 769 |
|
$repository = $this->getRepository(); |
| 770 |
|
|
| 771 |
|
$objectStateGroupId = $this->generateId('objectstategroup', 2); |
| 772 |
|
/* BEGIN: Use Case */ |
| 773 |
|
// $objectStateGroupId contains the ID of the standard object state |
| 774 |
|
// group ez_lock. |
| 775 |
|
$objectStateService = $repository->getObjectStateService(); |
| 776 |
|
|
| 777 |
|
$loadedObjectStateGroup = $objectStateService->loadObjectStateGroup( |
| 778 |
|
$objectStateGroupId |
| 779 |
|
); |
| 780 |
|
|
| 781 |
|
$objectStateCreateStruct = $objectStateService->newObjectStateCreateStruct( |
| 782 |
|
'locked_and_unlocked' |
| 783 |
|
); |
| 784 |
|
$objectStateCreateStruct->priority = 23; |
| 785 |
|
$objectStateCreateStruct->defaultLanguageCode = 'eng-US'; |
| 786 |
|
$objectStateCreateStruct->names = [ |
| 787 |
|
'eng-US' => 'Locked and Unlocked', |
| 788 |
|
'ger-DE' => 'geschlossen und ungeschlossen', |
| 789 |
|
]; |
| 790 |
|
$objectStateCreateStruct->descriptions = array( |
| 791 |
|
'eng-US' => 'A state between locked and unlocked.', |
| 792 |
|
'ger-DE' => 'ein Zustand zwischen geschlossen und ungeschlossen.', |
| 793 |
|
); |
| 794 |
|
|
| 795 |
|
// Creates a new object state in the $loadObjectStateGroup with the |
| 796 |
|
// data from $objectStateCreateStruct |
| 797 |
|
$createdObjectState = $objectStateService->createObjectState( |
| 798 |
|
$loadedObjectStateGroup, |
| 799 |
|
$objectStateCreateStruct |
| 800 |
|
); |
| 801 |
|
/* END: Use Case */ |
| 802 |
|
|
| 803 |
|
$this->assertInstanceOf(ObjectState::class, $createdObjectState); |
| 804 |
|
// Object sequences are renumbered |
| 805 |
|
$objectStateCreateStruct->priority = 2; |
| 806 |
|
|
| 807 |
|
return [ |
| 808 |
|
$loadedObjectStateGroup, |
| 809 |
|
$objectStateCreateStruct, |
| 810 |
|
$createdObjectState, |
| 811 |
|
]; |
| 812 |
|
} |
| 813 |
|
|
| 814 |
|
/** |
| 815 |
|
* Test service method for creating object state in empty group. |
|
@@ 1212-1253 (lines=42) @@
|
| 1209 |
|
* @covers \eZ\Publish\API\Repository\ObjectStateService::updateObjectState |
| 1210 |
|
* @depends eZ\Publish\API\Repository\Tests\ObjectStateServiceTest::testLoadObjectState |
| 1211 |
|
*/ |
| 1212 |
|
public function testUpdateObjectState() |
| 1213 |
|
{ |
| 1214 |
|
$repository = $this->getRepository(); |
| 1215 |
|
|
| 1216 |
|
$objectStateId = $this->generateId('objectstate', 2); |
| 1217 |
|
/* BEGIN: Use Case */ |
| 1218 |
|
// $objectStateId contains the ID of the "locked" state |
| 1219 |
|
$objectStateService = $repository->getObjectStateService(); |
| 1220 |
|
|
| 1221 |
|
$loadedObjectState = $objectStateService->loadObjectState( |
| 1222 |
|
$objectStateId |
| 1223 |
|
); |
| 1224 |
|
|
| 1225 |
|
$updateStateStruct = $objectStateService->newObjectStateUpdateStruct(); |
| 1226 |
|
$updateStateStruct->identifier = 'somehow_locked'; |
| 1227 |
|
$updateStateStruct->defaultLanguageCode = 'ger-DE'; |
| 1228 |
|
$updateStateStruct->names = array( |
| 1229 |
|
'eng-US' => 'Somehow locked', |
| 1230 |
|
'ger-DE' => 'Irgendwie gelockt', |
| 1231 |
|
); |
| 1232 |
|
$updateStateStruct->descriptions = array( |
| 1233 |
|
'eng-US' => 'The object is somehow locked', |
| 1234 |
|
'ger-DE' => 'Sindelfingen', |
| 1235 |
|
); |
| 1236 |
|
|
| 1237 |
|
$updatedObjectState = $objectStateService->updateObjectState( |
| 1238 |
|
$loadedObjectState, |
| 1239 |
|
$updateStateStruct |
| 1240 |
|
); |
| 1241 |
|
/* END: Use Case */ |
| 1242 |
|
|
| 1243 |
|
$this->assertInstanceOf( |
| 1244 |
|
ObjectState::class, |
| 1245 |
|
$updatedObjectState |
| 1246 |
|
); |
| 1247 |
|
|
| 1248 |
|
return array( |
| 1249 |
|
$loadedObjectState, |
| 1250 |
|
$updateStateStruct, |
| 1251 |
|
$updatedObjectState, |
| 1252 |
|
); |
| 1253 |
|
} |
| 1254 |
|
|
| 1255 |
|
/** |
| 1256 |
|
* Test service method for partially updating object state. |