- Timestamp:
- 05/10/2017 06:51:28 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/rest-api/rest-posts-controller.php
r40602 r40605 266 266 $response = $this->server->dispatch( $request ); 267 267 $this->assertErrorResponse( 'rest_invalid_param', $response, 400 ); 268 } 269 270 public function test_get_items_orderby_author_query() { 271 $id2 = $this->factory->post->create( array( 'post_status' => 'publish', 'post_author' => self::$editor_id ) ); 272 $id3 = $this->factory->post->create( array( 'post_status' => 'publish', 'post_author' => self::$editor_id ) ); 273 $id1 = $this->factory->post->create( array( 'post_status' => 'publish', 'post_author' => self::$author_id ) ); 274 275 $request = new WP_REST_Request( 'GET', '/wp/v2/posts' ); 276 $request->set_param( 'include', array( $id1, $id2, $id3 ) ); 277 $request->set_param( 'orderby', 'author' ); 278 279 $response = $this->server->dispatch( $request ); 280 $data = $response->get_data(); 281 282 $this->assertEquals( 200, $response->get_status() ); 283 $this->assertEquals( self::$author_id, $data[0]['author'] ); 284 $this->assertEquals( self::$editor_id, $data[1]['author'] ); 285 $this->assertEquals( self::$editor_id, $data[2]['author'] ); 286 287 $this->assertPostsOrderedBy( '{posts}.post_author DESC' ); 288 } 289 290 public function test_get_items_orderby_modified_query() { 291 $id1 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 292 $id2 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 293 $id3 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 294 295 $this->update_post_modified( $id1, '2016-04-20 4:26:20' ); 296 $this->update_post_modified( $id2, '2016-02-01 20:24:02' ); 297 $this->update_post_modified( $id3, '2016-02-21 12:24:02' ); 298 299 $request = new WP_REST_Request( 'GET', '/wp/v2/posts' ); 300 $request->set_param( 'include', array( $id1, $id2, $id3 ) ); 301 $request->set_param( 'orderby', 'modified' ); 302 303 $response = $this->server->dispatch( $request ); 304 $data = $response->get_data(); 305 306 $this->assertEquals( 200, $response->get_status() ); 307 $this->assertEquals( $id1, $data[0]['id'] ); 308 $this->assertEquals( $id3, $data[1]['id'] ); 309 $this->assertEquals( $id2, $data[2]['id'] ); 310 311 $this->assertPostsOrderedBy( '{posts}.post_modified DESC' ); 312 } 313 314 public function test_get_items_orderby_parent_query() { 315 $id1 = $this->factory->post->create( array( 'post_status' => 'publish', 'post_type' => 'page' ) ); 316 $id2 = $this->factory->post->create( array( 'post_status' => 'publish', 'post_type' => 'page' ) ); 317 $id3 = $this->factory->post->create( array( 'post_status' => 'publish', 'post_type' => 'page', 'post_parent' => $id1 ) ); 318 319 $request = new WP_REST_Request( 'GET', '/wp/v2/pages' ); 320 $request->set_param( 'include', array( $id1, $id2, $id3 ) ); 321 $request->set_param( 'orderby', 'parent' ); 322 323 $response = $this->server->dispatch( $request ); 324 $data = $response->get_data(); 325 326 $this->assertEquals( 200, $response->get_status() ); 327 $this->assertEquals( $id3, $data[0]['id'] ); 328 // Check ordering. Default ORDER is DESC. 329 $this->assertEquals( $id1, $data[0]['parent'] ); 330 $this->assertEquals( 0, $data[1]['parent'] ); 331 $this->assertEquals( 0, $data[2]['parent'] ); 332 333 $this->assertPostsOrderedBy( '{posts}.post_parent DESC' ); 268 334 } 269 335
Note: See TracChangeset
for help on using the changeset viewer.