Make WordPress Core

Changeset 41228


Ignore:
Timestamp:
08/04/2017 01:55:04 PM (9 years ago)
Author:
johnbillion
Message:

REST API: Populate some missing tests from test cases which extend the controller test case.

See #41463

Location:
trunk/tests/phpunit/tests/rest-api
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/rest-api/rest-pages-controller.php

    r39343 r41228  
    3636
    3737        public function test_register_routes() {
    38 
     38                $routes = $this->server->get_routes();
     39                $this->assertArrayHasKey( '/wp/v2/pages', $routes );
     40                $this->assertCount( 2, $routes['/wp/v2/pages'] );
     41                $this->assertArrayHasKey( '/wp/v2/pages/(?P<id>[\d]+)', $routes );
     42                $this->assertCount( 3, $routes['/wp/v2/pages/(?P<id>[\d]+)'] );
    3943        }
    4044
     
    8488
    8589        public function test_get_items() {
    86 
     90                $id1 = $this->factory->post->create( array( 'post_status' => 'publish', 'post_type' => 'page' ) );
     91                $id2 = $this->factory->post->create( array( 'post_status' => 'draft', 'post_type' => 'page' ) );
     92                $request = new WP_REST_Request( 'GET', '/wp/v2/pages' );
     93                $response = $this->server->dispatch( $request );
     94                $data = $response->get_data();
     95                $this->assertEquals( 1, count( $data ) );
     96                $this->assertEquals( $id1, $data[0]['id'] );
    8797        }
    8898
     
    306316
    307317        public function test_delete_item() {
    308 
     318                $page_id = $this->factory->post->create( array(
     319                        'post_type'  => 'page',
     320                        'post_title' => 'Deleted page',
     321                ) );
     322                wp_set_current_user( self::$editor_id );
     323
     324                $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/pages/%d', $page_id ) );
     325                $request->set_param( 'force', 'false' );
     326                $response = $this->server->dispatch( $request );
     327
     328                $this->assertEquals( 200, $response->get_status() );
     329                $data = $response->get_data();
     330                $this->assertEquals( 'Deleted page', $data['title']['raw'] );
     331                $this->assertEquals( 'trash', $data['status'] );
    309332        }
    310333
  • trunk/tests/phpunit/tests/rest-api/rest-settings-controller.php

    r39471 r41228  
    3333        }
    3434
     35        public function test_get_item() {
     36                /** Individual settings can't be gotten **/
     37                wp_set_current_user( self::$administrator );
     38                $request = new WP_REST_Request( 'GET', '/wp/v2/settings/title' );
     39                $response = $this->server->dispatch( $request );
     40                $this->assertEquals( 404, $response->get_status() );
     41        }
     42
     43        public function test_context_param() {
     44        }
     45
     46        public function test_get_item_is_not_public() {
     47                $request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
     48                $response = $this->server->dispatch( $request );
     49                $this->assertEquals( 403, $response->get_status() );
     50        }
     51
    3552        public function test_get_items() {
    36         }
    37 
    38         public function test_context_param() {
    39         }
    40 
    41         public function test_get_item_is_not_public() {
    42                 $request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
    43                 $response = $this->server->dispatch( $request );
    44                 $this->assertEquals( 403, $response->get_status() );
    45         }
    46 
    47         public function test_get_item() {
    4853                wp_set_current_user( self::$administrator );
    4954                $request = new WP_REST_Request( 'GET', '/wp/v2/settings' );
     
    337342
    338343        public function test_delete_item() {
     344                /** Settings can't be deleted **/
     345                $request = new WP_REST_Request( 'DELETE', '/wp/v2/settings/title' );
     346                $response = $this->server->dispatch( $request );
     347                $this->assertEquals( 404, $response->get_status() );
    339348        }
    340349
Note: See TracChangeset for help on using the changeset viewer.