Code Duplication    Length = 19-28 lines in 16 locations

eZ/Bundle/EzPublishRestBundle/Tests/Functional/ContentTest.php 3 locations

@@ 294-318 (lines=25) @@
291
     *
292
     * @param string $restContentVersionHref /content/objects/<contentId>/versions>/<versionNumber>
293
     */
294
    public function testUpdateVersion($restContentVersionHref)
295
    {
296
        $xml = <<< XML
297
<VersionUpdate>
298
    <fields>
299
        <field>
300
            <fieldDefinitionIdentifier>name</fieldDefinitionIdentifier>
301
            <languageCode>eng-GB</languageCode>
302
            <fieldValue>testUpdateVersion</fieldValue>
303
        </field>
304
    </fields>
305
</VersionUpdate>
306
XML;
307
308
        $request = $this->createHttpRequest(
309
            'PATCH',
310
            $restContentVersionHref,
311
            'VersionUpdate+xml',
312
            'Version+json',
313
            $xml
314
        );
315
        $response = $this->sendHttpRequest($request);
316
317
        self::assertHttpResponseCodeEquals($response, 200);
318
    }
319
320
    /**
321
     * @depends testPublishContent
@@ 642-669 (lines=28) @@
639
     *
640
     * @return string
641
     */
642
    private function createVersionTranslation($restContentVersionHref, $languageCode, $languageName)
643
    {
644
        // @todo Implement EZP-21171 to check if Language exists and add it
645
        // for now adding is done by ez:behat:create-language command executed in Travis job
646
647
        $xml = <<< XML
648
<VersionUpdate>
649
    <fields>
650
        <field>
651
            <fieldDefinitionIdentifier>name</fieldDefinitionIdentifier>
652
            <languageCode>{$languageCode}</languageCode>
653
            <fieldValue>{$languageName} translated name</fieldValue>
654
        </field>
655
    </fields>
656
</VersionUpdate>
657
XML;
658
659
        $request = $this->createHttpRequest(
660
            'PATCH',
661
            $restContentVersionHref,
662
            'VersionUpdate+xml',
663
            'Version+json',
664
            $xml
665
        );
666
        $response = $this->sendHttpRequest($request);
667
668
        self::assertHttpResponseCodeEquals($response, 200);
669
    }
670
671
    /**
672
     * Iterate through Version Items returned by REST view for ContentType: VersionList+json
@@ 825-844 (lines=20) @@
822
     * @param string $restContentHref REST resource link of Content
823
     * @param string $languageCode new Main Translation language code
824
     */
825
    private function updateMainTranslation($restContentHref, $languageCode)
826
    {
827
        $content = <<< XML
828
<?xml version="1.0" encoding="UTF-8"?>
829
<ContentUpdate>
830
  <mainLanguageCode>{$languageCode}</mainLanguageCode>
831
</ContentUpdate>
832
XML;
833
834
        $request = $this->createHttpRequest(
835
            'PATCH',
836
            $restContentHref,
837
            'ContentUpdate+xml',
838
            'ContentInfo+json',
839
            $content
840
        );
841
        $response = $this->sendHttpRequest($request);
842
843
        self::assertHttpResponseCodeEquals($response, 200);
844
    }
845
}
846

eZ/Bundle/EzPublishRestBundle/Tests/Functional/ContentTypeTest.php 3 locations

@@ 50-71 (lines=22) @@
47
     *
48
     * @return string the updated content type href
49
     */
50
    public function testUpdateContentTypeGroup($contentTypeGroupHref)
51
    {
52
        $body = <<< XML
53
<?xml version="1.0" encoding="UTF-8"?>
54
<ContentTypeGroupInput>
55
  <identifier>testUpdateContentTypeGroup</identifier>
56
</ContentTypeGroupInput>
57
XML;
58
59
        $request = $this->createHttpRequest(
60
            'PATCH',
61
            $contentTypeGroupHref,
62
            'ContentTypeGroupInput+xml',
63
            'ContentTypeGroup+json',
64
            $body
65
        );
66
        $response = $this->sendHttpRequest($request);
67
68
        self::assertHttpResponseCodeEquals($response, 200);
69
70
        return $contentTypeGroupHref;
71
    }
72
73
    /**
74
     * @depends testCreateContentTypeGroup
@@ 349-370 (lines=22) @@
346
     * @depends testCreateContentTypeDraft
347
     * Covers PATCH /content/types/<contentTypeId>/draft
348
     */
349
    public function testUpdateContentTypeDraft($contentTypeDraftHref)
350
    {
351
        $content = <<< XML
352
<?xml version="1.0" encoding="UTF-8"?>
353
<ContentTypeUpdate>
354
  <names>
355
    <value languageCode="eng-GB">testUpdateContentTypeDraft</value>
356
  </names>
357
</ContentTypeUpdate>
358
XML;
359
360
        $request = $this->createHttpRequest(
361
            'PATCH',
362
            $contentTypeDraftHref,
363
            'ContentTypeUpdate+xml',
364
            'ContentTypeInfo+json',
365
            $content
366
        );
367
        $response = $this->sendHttpRequest($request);
368
369
        self::assertHttpResponseCodeEquals($response, 200);
370
    }
371
372
    /**
373
     * Covers POST /content/types/<contentTypeId>/draft/fielddefinitions.
@@ 455-478 (lines=24) @@
452
     *
453
     * @todo the spec says PUT...
454
     */
455
    public function testUpdateContentTypeDraftFieldDefinition($fieldDefinitionHref)
456
    {
457
        $body = <<< XML
458
<?xml version="1.0" encoding="UTF-8"?>
459
<FieldDefinitionUpdate>
460
  <identifier>updated_secondtext</identifier>
461
  <names>
462
    <value languageCode="eng-GB">Updated second text</value>
463
  </names>
464
  <defaultValue>Updated default value</defaultValue>
465
</FieldDefinitionUpdate>
466
XML;
467
468
        $request = $this->createHttpRequest(
469
            'PATCH',
470
            $fieldDefinitionHref,
471
            'FieldDefinitionUpdate+xml',
472
            'FieldDefinition+json',
473
            $body
474
        );
475
        $response = $this->sendHttpRequest($request);
476
477
        self::assertHttpResponseCodeEquals($response, 200);
478
    }
479
480
    /**
481
     * Covers DELETE /content/types/<contentTypeId>/draft/fieldDefinitions/<fieldDefinitionId>.

eZ/Bundle/EzPublishRestBundle/Tests/Functional/ObjectStateTest.php 2 locations

@@ 197-222 (lines=26) @@
194
     * Covers PATCH /content/objectstategroups/{objectStateGroupId}/objectstates/{objectStateId}.
195
     * @depends testCreateObjectState
196
     */
197
    public function testUpdateObjectState($objectStateHref)
198
    {
199
        $body = <<< XML
200
<?xml version="1.0" encoding="UTF-8"?>
201
<ObjectStateUpdate>
202
  <identifier>testUpdateObjectState</identifier>
203
  <defaultLanguageCode>eng-GB</defaultLanguageCode>
204
  <names>
205
    <value languageCode="eng-GB">testUpdateObjectState</value>
206
  </names>
207
  <descriptions>
208
    <value languageCode="eng-GB">testUpdateObjectState description</value>
209
  </descriptions>
210
</ObjectStateUpdate>
211
XML;
212
        $request = $this->createHttpRequest(
213
            'PATCH',
214
            $objectStateHref,
215
            'ObjectStateUpdate+xml',
216
            'ObjectState+json',
217
            $body
218
        );
219
        $response = $this->sendHttpRequest($request);
220
221
        self::assertHttpResponseCodeEquals($response, 200);
222
    }
223
224
    /**
225
     * Covers PATCH /content/objectstategroups/{objectStateGroupId}.
@@ 228-253 (lines=26) @@
225
     * Covers PATCH /content/objectstategroups/{objectStateGroupId}.
226
     * @depends testCreateObjectStateGroup
227
     */
228
    public function testUpdateObjectStateGroup($objectStateGroupHref)
229
    {
230
        $body = <<< XML
231
<?xml version="1.0" encoding="UTF-8"?>
232
<ObjectStateGroupUpdate>
233
  <identifier>testUpdateObjectStateGroup</identifier>
234
  <defaultLanguageCode>eng-GB</defaultLanguageCode>
235
  <names>
236
    <value languageCode="eng-GB">testUpdateObjectStateGroup</value>
237
  </names>
238
  <descriptions>
239
    <value languageCode="eng-GB">testUpdateObjectStateGroup description</value>
240
  </descriptions>
241
</ObjectStateGroupUpdate>
242
XML;
243
        $request = $this->createHttpRequest(
244
            'PATCH',
245
            $objectStateGroupHref,
246
            'ObjectStateGroupUpdate+xml',
247
            'ObjectStateGroup+json',
248
            $body
249
        );
250
        $response = $this->sendHttpRequest($request);
251
252
        self::assertHttpResponseCodeEquals($response, 200);
253
    }
254
255
    /**
256
     * Covers DELETE.

eZ/Bundle/EzPublishRestBundle/Tests/Functional/RoleTest.php 4 locations

@@ 177-197 (lines=21) @@
174
     * @depends testCreateRole
175
     * Covers PATCH /user/roles/{roleId}
176
     */
177
    public function testUpdateRole($roleHref)
178
    {
179
        $xml = <<< XML
180
<?xml version="1.0" encoding="UTF-8"?>
181
<RoleInput>
182
  <identifier>testUpdateRole</identifier>
183
  <mainLanguageCode>eng-GB</mainLanguageCode>
184
  <names>
185
    <value languageCode="eng-GB">testUpdateRole</value>
186
  </names>
187
  <descriptions>
188
    <value languageCode="eng-GB">testUpdateRole description</value>
189
  </descriptions>
190
</RoleInput>
191
XML;
192
193
        $request = $this->createHttpRequest('PATCH', $roleHref, 'RoleInput+xml', 'Role+json', $xml);
194
        $response = $this->sendHttpRequest($request);
195
196
        self::assertHttpResponseCodeEquals($response, 200);
197
    }
198
199
    /**
200
     * @depends testCreateRoleDraft
@@ 203-229 (lines=27) @@
200
     * @depends testCreateRoleDraft
201
     * Covers PATCH /user/roles/{roleId}/draft
202
     */
203
    public function testUpdateRoleDraft($roleDraftHref)
204
    {
205
        $xml = <<< XML
206
<?xml version="1.0" encoding="UTF-8"?>
207
<RoleInput>
208
  <identifier>testUpdateRoleDraft</identifier>
209
  <mainLanguageCode>eng-GB</mainLanguageCode>
210
  <names>
211
    <value languageCode="eng-GB">testUpdateRoleDraft</value>
212
  </names>
213
  <descriptions>
214
    <value languageCode="eng-GB">testUpdateRoleDraft description</value>
215
  </descriptions>
216
</RoleInput>
217
XML;
218
219
        $request = $this->createHttpRequest(
220
            'PATCH',
221
            $roleDraftHref,
222
            'RoleInput+xml',
223
            'RoleDraft+json',
224
            $xml
225
        );
226
        $response = $this->sendHttpRequest($request);
227
228
        self::assertHttpResponseCodeEquals($response, 200);
229
    }
230
231
    /**
232
     * Covers POST /user/roles/{roleId}/policies.
@@ 342-367 (lines=26) @@
339
     * Covers PATCH /user/roles/{roleId}/policies/{policyId}.
340
     * @depends testAddPolicy
341
     */
342
    public function testUpdatePolicy($policyHref)
343
    {
344
        $xml = <<< XML
345
<?xml version="1.0" encoding="UTF-8"?>
346
<PolicyUpdate>
347
  <limitations>
348
    <limitation identifier="Class">
349
      <values>
350
        <ref href="1"/>
351
      </values>
352
    </limitation>
353
  </limitations>
354
</PolicyUpdate>
355
XML;
356
357
        $request = $this->createHttpRequest(
358
            'PATCH',
359
            $policyHref,
360
            'PolicyUpdate+xml',
361
            'Policy+json',
362
            $xml
363
        );
364
        $response = $this->sendHttpRequest($request);
365
366
        self::assertHttpResponseCodeEquals($response, 200);
367
    }
368
369
    /**
370
     * Covers PATCH /user/roles/{roleId}/policies/{policyId}.
@@ 373-392 (lines=20) @@
370
     * Covers PATCH /user/roles/{roleId}/policies/{policyId}.
371
     * @depends testAddPolicyByRoleDraft
372
     */
373
    public function testUpdatePolicyByRoleDraft($policyHref)
374
    {
375
        $xml = <<< XML
376
<?xml version="1.0" encoding="UTF-8"?>
377
<PolicyUpdate>
378
  <limitations>
379
    <limitation identifier="Class">
380
      <values>
381
        <ref href="1"/>
382
      </values>
383
    </limitation>
384
  </limitations>
385
</PolicyUpdate>
386
XML;
387
388
        $request = $this->createHttpRequest('PATCH', $policyHref, 'PolicyUpdate+xml', 'Policy+json', $xml);
389
        $response = $this->sendHttpRequest($request);
390
391
        self::assertHttpResponseCodeEquals($response, 200);
392
    }
393
394
    /**
395
     * @depends testCreateRole

eZ/Bundle/EzPublishRestBundle/Tests/Functional/SectionTest.php 1 location

@@ 63-81 (lines=19) @@
60
     * @depends testCreateSection
61
     * Covers PATCH /content/sections/{sectionId}
62
     */
63
    public function testUpdateSection($sectionHref)
64
    {
65
        $xml = <<< XML
66
<SectionInput>
67
  <identifier>testUpdateSection</identifier>
68
  <name>testUpdateSection</name>
69
</SectionInput>
70
XML;
71
        $request = $this->createHttpRequest(
72
            'PATCH',
73
            $sectionHref,
74
            'SectionInput+xml',
75
            'Section+json',
76
            $xml
77
        );
78
        $response = $this->sendHttpRequest($request);
79
80
        self::assertHttpResponseCodeEquals($response, 200);
81
    }
82
83
    /**
84
     * Covers GET /content/sections/{sectionId}.

eZ/Bundle/EzPublishRestBundle/Tests/Functional/UserTest.php 2 locations

@@ 90-115 (lines=26) @@
87
     * Covers PATCH /user/groups/{groupPath}.
88
     * @depends testCreateUserGroup
89
     */
90
    public function testUpdateUserGroup($groupHref)
91
    {
92
        $text = $this->addTestSuffix(__FUNCTION__);
93
        $xml = <<< XML
94
<?xml version="1.0" encoding="UTF-8"?>
95
<UserGroupUpdate>
96
  <fields>
97
    <field>
98
      <fieldDefinitionIdentifier>description</fieldDefinitionIdentifier>
99
      <languageCode>eng-GB</languageCode>
100
      <fieldValue>{$text}</fieldValue>
101
    </field>
102
  </fields>
103
</UserGroupUpdate>
104
XML;
105
        $request = $this->createHttpRequest(
106
            'PATCH',
107
            $groupHref,
108
            'UserGroupUpdate+xml',
109
            'UserGroup+json',
110
            $xml
111
        );
112
        $response = $this->sendHttpRequest($request);
113
114
        self::assertHttpResponseCodeEquals($response, 200);
115
    }
116
117
    /**
118
     * @depends testCreateUserGroup
@@ 184-209 (lines=26) @@
181
     * @depends testCreateUser
182
     * Covers PATCH /user/users/{userId}
183
     */
184
    public function testUpdateUser($userHref)
185
    {
186
        $text = $this->addTestSuffix(__FUNCTION__);
187
        $xml = <<< XML
188
<?xml version="1.0" encoding="UTF-8"?>
189
<UserUpdate>
190
  <fields>
191
    <field>
192
      <fieldDefinitionIdentifier>first_name</fieldDefinitionIdentifier>
193
      <languageCode>eng-GB</languageCode>
194
      <fieldValue>john john</fieldValue>
195
    </field>
196
  </fields>
197
</UserUpdate>
198
XML;
199
        $request = $this->createHttpRequest(
200
            'PATCH',
201
            $userHref,
202
            'UserUpdate+xml',
203
            'User+json',
204
            $xml
205
        );
206
        $response = $this->sendHttpRequest($request);
207
208
        self::assertHttpResponseCodeEquals($response, 200);
209
    }
210
211
    /**
212
     * Covers GET /user/users.

eZ/Bundle/EzPublishRestBundle/Tests/Functional/LocationTest.php 1 location

@@ 199-219 (lines=21) @@
196
     * Covers PATCH /content/locations/{locationPath}.
197
     * @depends testCreateLocation
198
     */
199
    public function testUpdateLocation($locationHref)
200
    {
201
        $body = <<< XML
202
<LocationUpdate>
203
  <priority>3</priority>
204
  <sortField>PATH</sortField>
205
  <sortOrder>ASC</sortOrder>
206
</LocationUpdate>
207
XML;
208
209
        $request = $this->createHttpRequest(
210
            'PATCH',
211
            $locationHref,
212
            'LocationUpdate+xml',
213
            'Location+json',
214
            $body
215
        );
216
        $response = $this->sendHttpRequest($request);
217
218
        self::assertHttpResponseCodeEquals($response, 200);
219
    }
220
221
    /**
222
     * @depends testCreateLocation