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