Code Duplication    Length = 14-25 lines in 14 locations

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

@@ 269-290 (lines=22) @@
266
     *
267
     * @param string $restContentVersionHref /content/objects/<contentId>/versions>/<versionNumber>
268
     */
269
    public function testUpdateVersion($restContentVersionHref)
270
    {
271
        $xml = <<< XML
272
<VersionUpdate>
273
    <fields>
274
        <field>
275
            <fieldDefinitionIdentifier>name</fieldDefinitionIdentifier>
276
            <languageCode>eng-GB</languageCode>
277
            <fieldValue>testUpdateVersion</fieldValue>
278
        </field>
279
    </fields>
280
</VersionUpdate>
281
XML;
282
283
        $request = $this->createHttpRequest('PATCH', $restContentVersionHref, 'VersionUpdate+xml', 'Version+json');
284
        $request->setContent($xml);
285
        $response = $this->sendHttpRequest(
286
            $request
287
        );
288
289
        self::assertHttpResponseCodeEquals($response, 200);
290
    }
291
292
    /**
293
     * @depends testPublishContent
@@ 607-631 (lines=25) @@
604
     *
605
     * @return string
606
     */
607
    private function createVersionTranslation($restContentVersionHref, $languageCode, $languageName)
608
    {
609
        // @todo Implement EZP-21171 to check if Language exists and add it
610
        // for now adding is done by ez:behat:create-language command executed in Travis job
611
612
        $xml = <<< XML
613
<VersionUpdate>
614
    <fields>
615
        <field>
616
            <fieldDefinitionIdentifier>name</fieldDefinitionIdentifier>
617
            <languageCode>{$languageCode}</languageCode>
618
            <fieldValue>{$languageName} translated name</fieldValue>
619
        </field>
620
    </fields>
621
</VersionUpdate>
622
XML;
623
624
        $request = $this->createHttpRequest('PATCH', $restContentVersionHref, 'VersionUpdate+xml', 'Version+json');
625
        $request->setContent($xml);
626
        $response = $this->sendHttpRequest(
627
            $request
628
        );
629
630
        self::assertHttpResponseCodeEquals($response, 200);
631
    }
632
633
    /**
634
     * Iterate through Version Items returned by REST view for ContentType: VersionList+json
@@ 781-795 (lines=15) @@
778
     * @param string $restContentHref REST resource link of Content
779
     * @param string $languageCode new Main Translation language code
780
     */
781
    private function updateMainTranslation($restContentHref, $languageCode)
782
    {
783
        $content = <<< XML
784
<?xml version="1.0" encoding="UTF-8"?>
785
<ContentUpdate>
786
  <mainLanguageCode>{$languageCode}</mainLanguageCode>
787
</ContentUpdate>
788
XML;
789
790
        $request = $this->createHttpRequest('PATCH', $restContentHref, 'ContentUpdate+xml', 'ContentInfo+json');
791
        $request->setContent($content);
792
        $response = $this->sendHttpRequest($request);
793
794
        self::assertHttpResponseCodeEquals($response, 200);
795
    }
796
}
797

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

@@ 45-61 (lines=17) @@
42
     *
43
     * @return string the updated content type href
44
     */
45
    public function testUpdateContentTypeGroup($contentTypeGroupHref)
46
    {
47
        $body = <<< XML
48
<?xml version="1.0" encoding="UTF-8"?>
49
<ContentTypeGroupInput>
50
  <identifier>testUpdateContentTypeGroup</identifier>
51
</ContentTypeGroupInput>
52
XML;
53
54
        $request = $this->createHttpRequest('PATCH', $contentTypeGroupHref, 'ContentTypeGroupInput+xml', 'ContentTypeGroup+json');
55
        $request->setContent($body);
56
        $response = $this->sendHttpRequest($request);
57
58
        self::assertHttpResponseCodeEquals($response, 200);
59
60
        return $contentTypeGroupHref;
61
    }
62
63
    /**
64
     * @depends testCreateContentTypeGroup
@@ 336-354 (lines=19) @@
333
     * @depends testCreateContentTypeDraft
334
     * Covers PATCH /content/types/<contentTypeId>/draft
335
     */
336
    public function testUpdateContentTypeDraft($contentTypeDraftHref)
337
    {
338
        $content = <<< XML
339
<?xml version="1.0" encoding="UTF-8"?>
340
<ContentTypeUpdate>
341
  <names>
342
    <value languageCode="eng-GB">testUpdateContentTypeDraft</value>
343
  </names>
344
</ContentTypeUpdate>
345
XML;
346
347
        $request = $this->createHttpRequest('PATCH', $contentTypeDraftHref, 'ContentTypeUpdate+xml', 'ContentTypeInfo+json');
348
        $request->setContent($content);
349
        $response = $this->sendHttpRequest(
350
            $request
351
        );
352
353
        self::assertHttpResponseCodeEquals($response, 200);
354
    }
355
356
    /**
357
     * Covers POST /content/types/<contentTypeId>/draft/fielddefinitions.
@@ 435-458 (lines=24) @@
432
     *
433
     * @todo the spec says PUT...
434
     */
435
    public function testUpdateContentTypeDraftFieldDefinition($fieldDefinitionHref)
436
    {
437
        $body = <<< XML
438
<?xml version="1.0" encoding="UTF-8"?>
439
<FieldDefinitionUpdate>
440
  <identifier>updated_secondtext</identifier>
441
  <names>
442
    <value languageCode="eng-GB">Updated second text</value>
443
  </names>
444
  <defaultValue>Updated default value</defaultValue>
445
</FieldDefinitionUpdate>
446
XML;
447
448
        $request = $this->createHttpRequest(
449
            'PATCH',
450
            $fieldDefinitionHref,
451
            'FieldDefinitionUpdate+xml',
452
            'FieldDefinition+json'
453
        );
454
        $request->setContent($body);
455
456
        $response = $this->sendHttpRequest($request);
457
        self::assertHttpResponseCodeEquals($response, 200);
458
    }
459
460
    /**
461
     * Covers DELETE /content/types/<contentTypeId>/draft/fieldDefinitions/<fieldDefinitionId>.

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

@@ 167-183 (lines=17) @@
164
     * Covers PATCH /content/locations/{locationPath}.
165
     * @depends testCreateLocation
166
     */
167
    public function testUpdateLocation($locationHref)
168
    {
169
        $body = <<< XML
170
<LocationUpdate>
171
  <priority>3</priority>
172
  <sortField>PATH</sortField>
173
  <sortOrder>ASC</sortOrder>
174
</LocationUpdate>
175
XML;
176
177
        $request = $this->createHttpRequest('PATCH', $locationHref, 'LocationUpdate+xml', 'Location+json');
178
        $request->setContent($body);
179
180
        $response = $this->sendHttpRequest($request);
181
182
        self::assertHttpResponseCodeEquals($response, 200);
183
    }
184
185
    /**
186
     * @depends testCreateLocation

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

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

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

@@ 172-194 (lines=23) @@
169
     * @depends testCreateRole
170
     * Covers PATCH /user/roles/{roleId}
171
     */
172
    public function testUpdateRole($roleHref)
173
    {
174
        $xml = <<< XML
175
<?xml version="1.0" encoding="UTF-8"?>
176
<RoleInput>
177
  <identifier>testUpdateRole</identifier>
178
  <mainLanguageCode>eng-GB</mainLanguageCode>
179
  <names>
180
    <value languageCode="eng-GB">testUpdateRole</value>
181
  </names>
182
  <descriptions>
183
    <value languageCode="eng-GB">testUpdateRole description</value>
184
  </descriptions>
185
</RoleInput>
186
XML;
187
188
        $request = $this->createHttpRequest('PATCH', $roleHref, 'RoleInput+xml', 'Role+json');
189
        $request->setContent($xml);
190
        $response = $this->sendHttpRequest($request);
191
192
        // @todo Fix failure Notice: Trying to get property of non-object in \/home\/bertrand\/www\/ezpublish-kernel\/eZ\/Publish\/Core\/Persistence\/Cache\/UserHandler.php line 174
193
        self::assertHttpResponseCodeEquals($response, 200);
194
    }
195
196
    /**
197
     * @depends testCreateRoleDraft
@@ 200-221 (lines=22) @@
197
     * @depends testCreateRoleDraft
198
     * Covers PATCH /user/roles/{roleId}/draft
199
     */
200
    public function testUpdateRoleDraft($roleDraftHref)
201
    {
202
        $xml = <<< XML
203
<?xml version="1.0" encoding="UTF-8"?>
204
<RoleInput>
205
  <identifier>testUpdateRoleDraft</identifier>
206
  <mainLanguageCode>eng-GB</mainLanguageCode>
207
  <names>
208
    <value languageCode="eng-GB">testUpdateRoleDraft</value>
209
  </names>
210
  <descriptions>
211
    <value languageCode="eng-GB">testUpdateRoleDraft description</value>
212
  </descriptions>
213
</RoleInput>
214
XML;
215
216
        $request = $this->createHttpRequest('PATCH', $roleDraftHref, 'RoleInput+xml', 'RoleDraft+json');
217
        $request->setContent($xml);
218
        $response = $this->sendHttpRequest($request);
219
220
        self::assertHttpResponseCodeEquals($response, 200);
221
    }
222
223
    /**
224
     * Covers POST /user/roles/{roleId}/policies.
@@ 329-349 (lines=21) @@
326
     * Covers PATCH /user/roles/{roleId}/policies/{policyId}.
327
     * @depends testAddPolicy
328
     */
329
    public function testUpdatePolicy($policyHref)
330
    {
331
        $xml = <<< XML
332
<?xml version="1.0" encoding="UTF-8"?>
333
<PolicyUpdate>
334
  <limitations>
335
    <limitation identifier="Class">
336
      <values>
337
        <ref href="1"/>
338
      </values>
339
    </limitation>
340
  </limitations>
341
</PolicyUpdate>
342
XML;
343
344
        $request = $this->createHttpRequest('PATCH', $policyHref, 'PolicyUpdate+xml', 'Policy+json');
345
        $request->setContent($xml);
346
        $response = $this->sendHttpRequest($request);
347
348
        self::assertHttpResponseCodeEquals($response, 200);
349
    }
350
351
    /**
352
     * Covers PATCH /user/roles/{roleId}/policies/{policyId}.
@@ 355-375 (lines=21) @@
352
     * Covers PATCH /user/roles/{roleId}/policies/{policyId}.
353
     * @depends testAddPolicyByRoleDraft
354
     */
355
    public function testUpdatePolicyByRoleDraft($policyHref)
356
    {
357
        $xml = <<< XML
358
<?xml version="1.0" encoding="UTF-8"?>
359
<PolicyUpdate>
360
  <limitations>
361
    <limitation identifier="Class">
362
      <values>
363
        <ref href="1"/>
364
      </values>
365
    </limitation>
366
  </limitations>
367
</PolicyUpdate>
368
XML;
369
370
        $request = $this->createHttpRequest('PATCH', $policyHref, 'PolicyUpdate+xml', 'Policy+json');
371
        $request->setContent($xml);
372
        $response = $this->sendHttpRequest($request);
373
374
        self::assertHttpResponseCodeEquals($response, 200);
375
    }
376
377
    /**
378
     * @depends testCreateRole

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

@@ 58-71 (lines=14) @@
55
     * @depends testCreateSection
56
     * Covers PATCH /content/sections/{sectionId}
57
     */
58
    public function testUpdateSection($sectionHref)
59
    {
60
        $xml = <<< XML
61
<SectionInput>
62
  <identifier>testUpdateSection</identifier>
63
  <name>testUpdateSection</name>
64
</SectionInput>
65
XML;
66
        $request = $this->createHttpRequest('PATCH', $sectionHref, 'SectionInput+xml', 'Section+json');
67
        $request->setContent($xml);
68
        $response = $this->sendHttpRequest($request);
69
70
        self::assertHttpResponseCodeEquals($response, 200);
71
    }
72
73
    /**
74
     * Covers GET /content/sections/{sectionId}.