| @@ 647-659 (lines=13) @@ | ||
| 644 | * @covers PUBLISH /user/roles/{roleId}/draft |
|
| 645 | * @depends testCreateRoleDraft |
|
| 646 | */ |
|
| 647 | public function testPublishRoleDraft($roleDraftHref) |
|
| 648 | { |
|
| 649 | $response = $this->sendHttpRequest( |
|
| 650 | $this->createHttpRequest('PUBLISH', $roleDraftHref) |
|
| 651 | ); |
|
| 652 | ||
| 653 | self::assertHttpResponseCodeEquals($response, 204); |
|
| 654 | self::assertHttpResponseHasHeader( |
|
| 655 | $response, |
|
| 656 | 'Location', |
|
| 657 | '/api/ezp/v2/user/roles/' . preg_replace('/.*roles\/(\d+).*/', '$1', $roleDraftHref) |
|
| 658 | ); |
|
| 659 | } |
|
| 660 | ||
| 661 | /** |
|
| 662 | * @covers DELETE /user/roles/{roleId}/draft |
|
| @@ 160-170 (lines=11) @@ | ||
| 157 | * |
|
| 158 | * @return string ContentVersion REST ID |
|
| 159 | */ |
|
| 160 | public function testCreateDraftFromVersion($restContentHref) |
|
| 161 | { |
|
| 162 | $response = $this->sendHttpRequest( |
|
| 163 | $this->createHttpRequest('COPY', "{$restContentHref}/versions/1") |
|
| 164 | ); |
|
| 165 | ||
| 166 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 167 | self::assertEquals($response->getHeader('Location'), "{$restContentHref}/versions/2"); |
|
| 168 | ||
| 169 | return $response->getHeader('Location'); |
|
| 170 | } |
|
| 171 | ||
| 172 | /** |
|
| 173 | * @depends testPublishContent |
|
| @@ 292-302 (lines=11) @@ | ||
| 289 | * |
|
| 290 | * @return string the ID of the created version (/content/objects/<contentId>/versions/<versionNumber> |
|
| 291 | */ |
|
| 292 | public function testCreateDraftFromCurrentVersion($restContentHref) |
|
| 293 | { |
|
| 294 | $response = $this->sendHttpRequest( |
|
| 295 | $this->createHttpRequest('COPY', "$restContentHref/currentversion") |
|
| 296 | ); |
|
| 297 | ||
| 298 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 299 | self::assertHttpResponseHasHeader($response, 'Location'); |
|
| 300 | ||
| 301 | return $response->getHeader('Location'); |
|
| 302 | } |
|
| 303 | ||
| 304 | /** |
|
| 305 | * @depends testCreateDraftFromCurrentVersion |
|
| @@ 139-147 (lines=9) @@ | ||
| 136 | * @covers MOVE /content/locations/{locationPath} |
|
| 137 | * @depends testCopySubtree |
|
| 138 | */ |
|
| 139 | public function testMoveSubtree($locationHref) |
|
| 140 | { |
|
| 141 | $request = $this->createHttpRequest('MOVE', $locationHref); |
|
| 142 | $request->addHeader('Destination: /api/ezp/v2/content/locations/1/5'); |
|
| 143 | $response = $this->sendHttpRequest($request); |
|
| 144 | ||
| 145 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 146 | self::assertHttpResponseHasHeader($response, 'Location'); |
|
| 147 | } |
|
| 148 | ||
| 149 | /** |
|
| 150 | * @depends testCreateLocation |
|
| @@ 286-295 (lines=10) @@ | ||
| 283 | * |
|
| 284 | * @return array |
|
| 285 | */ |
|
| 286 | protected function getContentLocations($contentHref) |
|
| 287 | { |
|
| 288 | $response = $this->sendHttpRequest( |
|
| 289 | $this->createHttpRequest('GET', "$contentHref/locations", '', 'LocationList+json') |
|
| 290 | ); |
|
| 291 | self::assertHttpResponseCodeEquals($response, 200); |
|
| 292 | $folderLocations = json_decode($response->getContent(), true); |
|
| 293 | ||
| 294 | return $folderLocations; |
|
| 295 | } |
|
| 296 | ||
| 297 | protected function addTestSuffix($string) |
|
| 298 | { |
|
| @@ 311-319 (lines=9) @@ | ||
| 308 | * |
|
| 309 | * @return \stdClass an object with the name, identifier, csrftoken properties. |
|
| 310 | */ |
|
| 311 | protected function login() |
|
| 312 | { |
|
| 313 | $request = $this->createHttpRequest('POST', '/api/ezp/v2/user/sessions', 'SessionInput+json', 'Session+json'); |
|
| 314 | $this->setSessionInput($request); |
|
| 315 | $response = $this->sendHttpRequest($request); |
|
| 316 | self::assertHttpResponseCodeEquals($response, 201); |
|
| 317 | ||
| 318 | return json_decode($response->getContent())->Session; |
|
| 319 | } |
|
| 320 | ||
| 321 | /** |
|
| 322 | * Sets the request's content to a JSON session creation payload. |
|