Code Duplication    Length = 42-46 lines in 2 locations

eZ/Publish/API/Repository/Tests/ObjectStateServiceTest.php 2 locations

@@ 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.