- Timestamp:
- 10/27/2016 02:56:28 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/rest-api/rest-posts-controller.php
r38968 r38975 11 11 */ 12 12 class WP_Test_REST_Posts_Controller extends WP_Test_REST_Post_Type_Controller_Testcase { 13 protected static $post_id; 14 15 protected static $editor_id; 16 protected static $author_id; 17 protected static $contributor_id; 18 19 public static function wpSetUpBeforeClass( $factory ) { 20 self::$post_id = $factory->post->create(); 21 22 self::$editor_id = $factory->user->create( array( 23 'role' => 'editor', 24 ) ); 25 self::$author_id = $factory->user->create( array( 26 'role' => 'author', 27 ) ); 28 self::$contributor_id = $factory->user->create( array( 29 'role' => 'contributor', 30 ) ); 31 } 32 33 public static function wpTearDownAfterClass() { 34 wp_delete_post( self::$post_id, true ); 35 36 self::delete_user( self::$editor_id ); 37 self::delete_user( self::$author_id ); 38 self::delete_user( self::$contributor_id ); 39 } 13 40 14 41 public function setUp() { 15 42 parent::setUp(); 16 17 $this->post_id = $this->factory->post->create();18 19 $this->editor_id = $this->factory->user->create( array(20 'role' => 'editor',21 ) );22 $this->author_id = $this->factory->user->create( array(23 'role' => 'author',24 ) );25 $this->contributor_id = $this->factory->user->create( array(26 'role' => 'contributor',27 ) );28 29 43 register_post_type( 'youseeme', array( 'supports' => array(), 'show_in_rest' => true ) ); 30 44 } … … 47 61 $this->assertEquals( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] ); 48 62 // Single 49 $request = new WP_REST_Request( 'OPTIONS', '/wp/v2/posts/' . $this->post_id );63 $request = new WP_REST_Request( 'OPTIONS', '/wp/v2/posts/' . self::$post_id ); 50 64 $response = $this->server->dispatch( $request ); 51 65 $data = $response->get_data(); … … 106 120 107 121 public function test_get_items_author_query() { 108 $this->factory->post->create( array( 'post_author' => $this->editor_id ) );109 $this->factory->post->create( array( 'post_author' => $this->author_id ) );122 $this->factory->post->create( array( 'post_author' => self::$editor_id ) ); 123 $this->factory->post->create( array( 'post_author' => self::$author_id ) ); 110 124 // All 3 posts 111 125 $request = new WP_REST_Request( 'GET', '/wp/v2/posts' ); … … 115 129 // 2 of 3 posts 116 130 $request = new WP_REST_Request( 'GET', '/wp/v2/posts' ); 117 $request->set_param( 'author', array( $this->editor_id, $this->author_id ) );131 $request->set_param( 'author', array( self::$editor_id, self::$author_id ) ); 118 132 $response = $this->server->dispatch( $request ); 119 133 $this->assertEquals( 200, $response->get_status() ); 120 134 $data = $response->get_data(); 121 135 $this->assertEquals( 2, count( $data ) ); 122 $this->assertEqualSets( array( $this->editor_id, $this->author_id ), wp_list_pluck( $data, 'author' ) );136 $this->assertEqualSets( array( self::$editor_id, self::$author_id ), wp_list_pluck( $data, 'author' ) ); 123 137 // 1 of 3 posts 124 138 $request = new WP_REST_Request( 'GET', '/wp/v2/posts' ); 125 $request->set_param( 'author', $this->editor_id );139 $request->set_param( 'author', self::$editor_id ); 126 140 $response = $this->server->dispatch( $request ); 127 141 $this->assertEquals( 200, $response->get_status() ); 128 142 $data = $response->get_data(); 129 143 $this->assertEquals( 1, count( $data ) ); 130 $this->assertEquals( $this->editor_id, $data[0]['author'] );144 $this->assertEquals( self::$editor_id, $data[0]['author'] ); 131 145 } 132 146 133 147 public function test_get_items_author_exclude_query() { 134 $this->factory->post->create( array( 'post_author' => $this->editor_id ) );135 $this->factory->post->create( array( 'post_author' => $this->author_id ) );148 $this->factory->post->create( array( 'post_author' => self::$editor_id ) ); 149 $this->factory->post->create( array( 'post_author' => self::$author_id ) ); 136 150 // All 3 posts 137 151 $request = new WP_REST_Request( 'GET', '/wp/v2/posts' ); … … 141 155 // 1 of 3 posts 142 156 $request = new WP_REST_Request( 'GET', '/wp/v2/posts' ); 143 $request->set_param( 'author_exclude', array( $this->editor_id, $this->author_id ) );157 $request->set_param( 'author_exclude', array( self::$editor_id, self::$author_id ) ); 144 158 $response = $this->server->dispatch( $request ); 145 159 $this->assertEquals( 200, $response->get_status() ); 146 160 $data = $response->get_data(); 147 161 $this->assertEquals( 1, count( $data ) ); 148 $this->assertNotEquals( $this->editor_id, $data[0]['author'] );149 $this->assertNotEquals( $this->author_id, $data[0]['author'] );162 $this->assertNotEquals( self::$editor_id, $data[0]['author'] ); 163 $this->assertNotEquals( self::$author_id, $data[0]['author'] ); 150 164 // 2 of 3 posts 151 165 $request = new WP_REST_Request( 'GET', '/wp/v2/posts' ); 152 $request->set_param( 'author_exclude', $this->editor_id );166 $request->set_param( 'author_exclude', self::$editor_id ); 153 167 $response = $this->server->dispatch( $request ); 154 168 $this->assertEquals( 200, $response->get_status() ); 155 169 $data = $response->get_data(); 156 170 $this->assertEquals( 2, count( $data ) ); 157 $this->assertNotEquals( $this->editor_id, $data[0]['author'] );158 $this->assertNotEquals( $this->editor_id, $data[1]['author'] );171 $this->assertNotEquals( self::$editor_id, $data[0]['author'] ); 172 $this->assertNotEquals( self::$editor_id, $data[1]['author'] ); 159 173 } 160 174 … … 233 247 $response = $this->server->dispatch( $request ); 234 248 $this->assertErrorResponse( 'rest_invalid_param', $response, 400 ); 235 wp_set_current_user( $this->editor_id );249 wp_set_current_user( self::$editor_id ); 236 250 $request = new WP_REST_Request( 'GET', '/wp/v2/posts' ); 237 251 $request->set_param( 'status', 'draft' ); … … 306 320 $response = $this->server->dispatch( $request ); 307 321 $data = $response->get_data(); 308 $this->assertEquals( array( $this->post_id, $post_id3, $post_id2, $post_id1 ), wp_list_pluck( $data, 'id' ) );322 $this->assertEquals( array( self::$post_id, $post_id3, $post_id2, $post_id1 ), wp_list_pluck( $data, 'id' ) ); 309 323 310 324 // Permit stickies … … 313 327 $response = $this->server->dispatch( $request ); 314 328 $data = $response->get_data(); 315 $this->assertEquals( array( $post_id2, $this->post_id, $post_id3, $post_id1 ), wp_list_pluck( $data, 'id' ) );329 $this->assertEquals( array( $post_id2, self::$post_id, $post_id3, $post_id1 ), wp_list_pluck( $data, 'id' ) ); 316 330 } 317 331 318 332 public function test_get_items_offset_query() { 319 $id1 = $this->post_id;333 $id1 = self::$post_id; 320 334 $id2 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 321 335 $id3 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); … … 336 350 337 351 public function test_get_items_tags_query() { 338 $id1 = $this->post_id;352 $id1 = self::$post_id; 339 353 $id2 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 340 354 $id3 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); … … 353 367 354 368 public function test_get_items_tags_exclude_query() { 355 $id1 = $this->post_id;369 $id1 = self::$post_id; 356 370 $id2 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 357 371 $id3 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); … … 372 386 373 387 public function test_get_items_tags_and_categories_query() { 374 $id1 = $this->post_id;388 $id1 = self::$post_id; 375 389 $id2 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 376 390 $id3 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); … … 392 406 393 407 public function test_get_items_tags_and_categories_exclude_query() { 394 $id1 = $this->post_id;408 $id1 = self::$post_id; 395 409 $id2 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 396 410 $id3 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); … … 414 428 415 429 public function test_get_items_sticky_query() { 416 $id1 = $this->post_id;430 $id1 = self::$post_id; 417 431 $id2 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 418 432 … … 431 445 432 446 public function test_get_items_sticky_with_post__in_query() { 433 $id1 = $this->post_id;447 $id1 = self::$post_id; 434 448 $id2 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 435 449 $id3 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); … … 460 474 461 475 public function test_get_items_not_sticky_query() { 462 $id1 = $this->post_id;476 $id1 = self::$post_id; 463 477 $id2 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 464 478 … … 477 491 478 492 public function test_get_items_sticky_with_post__not_in_query() { 479 $id1 = $this->post_id;493 $id1 = self::$post_id; 480 494 $id2 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 481 495 $id3 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); … … 587 601 588 602 // But they are accessible to authorized users 589 wp_set_current_user( $this->editor_id );603 wp_set_current_user( self::$editor_id ); 590 604 $response = $this->server->dispatch( $request ); 591 605 $data = $response->get_data(); … … 631 645 632 646 public function test_get_item() { 633 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', $this->post_id ) );647 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 634 648 $response = $this->server->dispatch( $request ); 635 649 … … 638 652 639 653 public function test_get_item_links() { 640 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', $this->post_id ) );654 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 641 655 $response = $this->server->dispatch( $request ); 642 656 643 657 $links = $response->get_links(); 644 658 645 $this->assertEquals( rest_url( '/wp/v2/posts/' . $this->post_id ), $links['self'][0]['href'] );659 $this->assertEquals( rest_url( '/wp/v2/posts/' . self::$post_id ), $links['self'][0]['href'] ); 646 660 $this->assertEquals( rest_url( '/wp/v2/posts' ), $links['collection'][0]['href'] ); 647 661 648 $this->assertEquals( rest_url( '/wp/v2/types/' . get_post_type( $this->post_id ) ), $links['about'][0]['href'] );662 $this->assertEquals( rest_url( '/wp/v2/types/' . get_post_type( self::$post_id ) ), $links['about'][0]['href'] ); 649 663 650 664 $replies_url = rest_url( '/wp/v2/comments' ); 651 $replies_url = add_query_arg( 'post', $this->post_id, $replies_url );665 $replies_url = add_query_arg( 'post', self::$post_id, $replies_url ); 652 666 $this->assertEquals( $replies_url, $links['replies'][0]['href'] ); 653 667 654 $this->assertEquals( rest_url( '/wp/v2/posts/' . $this->post_id . '/revisions' ), $links['version-history'][0]['href'] );668 $this->assertEquals( rest_url( '/wp/v2/posts/' . self::$post_id . '/revisions' ), $links['version-history'][0]['href'] ); 655 669 656 670 $attachments_url = rest_url( '/wp/v2/media' ); 657 $attachments_url = add_query_arg( 'parent', $this->post_id, $attachments_url );671 $attachments_url = add_query_arg( 'parent', self::$post_id, $attachments_url ); 658 672 $this->assertEquals( $attachments_url, $links['https://api.w.org/attachment'][0]['href'] ); 659 673 … … 673 687 $this->assertNull( $format_link ); 674 688 675 $tags_url = add_query_arg( 'post', $this->post_id, rest_url( '/wp/v2/tags' ) );689 $tags_url = add_query_arg( 'post', self::$post_id, rest_url( '/wp/v2/tags' ) ); 676 690 $this->assertEquals( $tags_url, $tag_link['href'] ); 677 691 678 $category_url = add_query_arg( 'post', $this->post_id, rest_url( '/wp/v2/categories' ) );692 $category_url = add_query_arg( 'post', self::$post_id, rest_url( '/wp/v2/categories' ) ); 679 693 $this->assertEquals( $category_url, $cat_link['href'] ); 680 694 } 681 695 682 696 public function test_get_item_links_no_author() { 683 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', $this->post_id ) );697 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 684 698 $response = $this->server->dispatch( $request ); 685 699 $links = $response->get_links(); 686 700 $this->assertFalse( isset( $links['author'] ) ); 687 wp_update_post( array( 'ID' => $this->post_id, 'post_author' => $this->author_id ) );688 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', $this->post_id ) );701 wp_update_post( array( 'ID' => self::$post_id, 'post_author' => self::$author_id ) ); 702 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 689 703 $response = $this->server->dispatch( $request ); 690 704 $links = $response->get_links(); 691 $this->assertEquals( rest_url( '/wp/v2/users/' . $this->author_id ), $links['author'][0]['href'] );705 $this->assertEquals( rest_url( '/wp/v2/users/' . self::$author_id ), $links['author'][0]['href'] ); 692 706 } 693 707 … … 717 731 ) ); 718 732 719 wp_set_current_user( $this->editor_id );733 wp_set_current_user( self::$editor_id ); 720 734 721 735 $response = $this->server->dispatch( $request ); … … 737 751 public function test_get_post_context_without_permission() { 738 752 wp_set_current_user( 0 ); 739 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', $this->post_id ) );753 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 740 754 $request->set_query_params( array( 741 755 'context' => 'edit', … … 812 826 register_post_status( 'testprivtatus', array( 'public' => false ) ); 813 827 // Public status 814 wp_update_post( array( 'ID' => $this->post_id, 'post_status' => 'testpubstatus' ) );815 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', $this->post_id ) );828 wp_update_post( array( 'ID' => self::$post_id, 'post_status' => 'testpubstatus' ) ); 829 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 816 830 $response = $this->server->dispatch( $request ); 817 831 $this->assertEquals( 200, $response->get_status() ); 818 832 // Private status 819 wp_update_post( array( 'ID' => $this->post_id, 'post_status' => 'testprivtatus' ) );820 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', $this->post_id ) );833 wp_update_post( array( 'ID' => self::$post_id, 'post_status' => 'testprivtatus' ) ); 834 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 821 835 $response = $this->server->dispatch( $request ); 822 836 $this->assertEquals( 403, $response->get_status() ); … … 824 838 825 839 public function test_prepare_item() { 826 wp_set_current_user( $this->editor_id );827 828 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', $this->post_id ) );840 wp_set_current_user( self::$editor_id ); 841 842 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 829 843 $request->set_query_params( array( 'context' => 'edit' ) ); 830 844 $response = $this->server->dispatch( $request ); … … 834 848 835 849 public function test_create_item() { 836 wp_set_current_user( $this->editor_id );850 wp_set_current_user( self::$editor_id ); 837 851 838 852 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 846 860 847 861 public function test_rest_create_item() { 848 wp_set_current_user( $this->editor_id );862 wp_set_current_user( self::$editor_id ); 849 863 850 864 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 858 872 859 873 public function test_create_post_invalid_id() { 860 wp_set_current_user( $this->editor_id );874 wp_set_current_user( self::$editor_id ); 861 875 862 876 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 871 885 872 886 public function test_create_post_as_contributor() { 873 wp_set_current_user( $this->contributor_id );887 wp_set_current_user( self::$contributor_id ); 874 888 875 889 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 884 898 885 899 public function test_create_post_sticky() { 886 wp_set_current_user( $this->editor_id );900 wp_set_current_user( self::$editor_id ); 887 901 888 902 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 900 914 901 915 public function test_create_post_sticky_as_contributor() { 902 wp_set_current_user( $this->contributor_id );916 wp_set_current_user( self::$contributor_id ); 903 917 904 918 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 914 928 915 929 public function test_create_post_other_author_without_permission() { 916 wp_set_current_user( $this->author_id );930 wp_set_current_user( self::$author_id ); 917 931 918 932 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); 919 933 $params = $this->set_post_data(array( 920 'author' => $this->editor_id,934 'author' => self::$editor_id, 921 935 )); 922 936 $request->set_body_params( $params ); … … 940 954 941 955 public function test_create_post_draft() { 942 wp_set_current_user( $this->editor_id );956 wp_set_current_user( self::$editor_id ); 943 957 944 958 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 959 973 960 974 public function test_create_post_private() { 961 wp_set_current_user( $this->editor_id );975 wp_set_current_user( self::$editor_id ); 962 976 963 977 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 975 989 976 990 public function test_create_post_private_without_permission() { 977 wp_set_current_user( $this->author_id );991 wp_set_current_user( self::$author_id ); 978 992 $user = wp_get_current_user(); 979 993 $user->add_cap( 'publish_posts', false ); … … 985 999 $params = $this->set_post_data( array( 986 1000 'status' => 'private', 987 'author' => $this->author_id,1001 'author' => self::$author_id, 988 1002 ) ); 989 1003 $request->set_body_params( $params ); … … 994 1008 995 1009 public function test_create_post_publish_without_permission() { 996 wp_set_current_user( $this->author_id );1010 wp_set_current_user( self::$author_id ); 997 1011 $user = wp_get_current_user(); 998 1012 $user->add_cap( 'publish_posts', false ); … … 1012 1026 1013 1027 public function test_create_post_invalid_status() { 1014 wp_set_current_user( $this->editor_id );1028 wp_set_current_user( self::$editor_id ); 1015 1029 1016 1030 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1025 1039 1026 1040 public function test_create_post_with_format() { 1027 wp_set_current_user( $this->editor_id );1041 wp_set_current_user( self::$editor_id ); 1028 1042 1029 1043 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1041 1055 1042 1056 public function test_create_post_with_invalid_format() { 1043 wp_set_current_user( $this->editor_id );1057 wp_set_current_user( self::$editor_id ); 1044 1058 1045 1059 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1061 1075 ) ); 1062 1076 1063 wp_set_current_user( $this->editor_id );1077 wp_set_current_user( self::$editor_id ); 1064 1078 1065 1079 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1086 1100 1087 1101 public function test_create_post_invalid_author() { 1088 wp_set_current_user( $this->editor_id );1102 wp_set_current_user( self::$editor_id ); 1089 1103 1090 1104 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1099 1113 1100 1114 public function test_create_post_invalid_author_without_permission() { 1101 wp_set_current_user( $this->author_id );1102 1103 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); 1104 $params = $this->set_post_data( array( 1105 'author' => $this->editor_id,1115 wp_set_current_user( self::$author_id ); 1116 1117 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); 1118 $params = $this->set_post_data( array( 1119 'author' => self::$editor_id, 1106 1120 ) ); 1107 1121 $request->set_body_params( $params ); … … 1112 1126 1113 1127 public function test_create_post_with_password() { 1114 wp_set_current_user( $this->editor_id );1128 wp_set_current_user( self::$editor_id ); 1115 1129 1116 1130 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1126 1140 1127 1141 public function test_create_post_with_falsy_password() { 1128 wp_set_current_user( $this->editor_id );1142 wp_set_current_user( self::$editor_id ); 1129 1143 1130 1144 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1141 1155 1142 1156 public function test_create_post_with_empty_string_password_and_sticky() { 1143 wp_set_current_user( $this->editor_id );1157 wp_set_current_user( self::$editor_id ); 1144 1158 1145 1159 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1157 1171 1158 1172 public function test_create_post_with_password_and_sticky_fails() { 1159 wp_set_current_user( $this->editor_id );1173 wp_set_current_user( self::$editor_id ); 1160 1174 1161 1175 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1171 1185 1172 1186 public function test_create_post_custom_date() { 1173 wp_set_current_user( $this->editor_id );1187 wp_set_current_user( self::$editor_id ); 1174 1188 1175 1189 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1188 1202 1189 1203 public function test_create_post_custom_date_with_timezone() { 1190 wp_set_current_user( $this->editor_id );1204 wp_set_current_user( self::$editor_id ); 1191 1205 1192 1206 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1209 1223 1210 1224 public function test_create_post_with_db_error() { 1211 wp_set_current_user( $this->editor_id );1225 wp_set_current_user( self::$editor_id ); 1212 1226 1213 1227 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1231 1245 1232 1246 public function test_create_post_with_invalid_date() { 1233 wp_set_current_user( $this->editor_id );1247 wp_set_current_user( self::$editor_id ); 1234 1248 1235 1249 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1244 1258 1245 1259 public function test_create_post_with_invalid_date_gmt() { 1246 wp_set_current_user( $this->editor_id );1260 wp_set_current_user( self::$editor_id ); 1247 1261 1248 1262 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1257 1271 1258 1272 public function test_create_post_with_quotes_in_title() { 1259 wp_set_current_user( $this->editor_id );1273 wp_set_current_user( self::$editor_id ); 1260 1274 1261 1275 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1270 1284 1271 1285 public function test_create_post_with_categories() { 1272 wp_set_current_user( $this->editor_id );1286 wp_set_current_user( self::$editor_id ); 1273 1287 $category = wp_insert_term( 'Test Category', 'category' ); 1274 1288 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); … … 1287 1301 1288 1302 public function test_create_post_with_invalid_categories() { 1289 wp_set_current_user( $this->editor_id );1303 wp_set_current_user( self::$editor_id ); 1290 1304 $request = new WP_REST_Request( 'POST', '/wp/v2/posts' ); 1291 1305 $params = $this->set_post_data( array( … … 1303 1317 1304 1318 public function test_update_item() { 1305 wp_set_current_user( $this->editor_id );1306 1307 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1319 wp_set_current_user( self::$editor_id ); 1320 1321 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1308 1322 $request->add_header( 'content-type', 'application/x-www-form-urlencoded' ); 1309 1323 $params = $this->set_post_data(); … … 1313 1327 $this->check_update_post_response( $response ); 1314 1328 $new_data = $response->get_data(); 1315 $this->assertEquals( $this->post_id, $new_data['id'] );1329 $this->assertEquals( self::$post_id, $new_data['id'] ); 1316 1330 $this->assertEquals( $params['title'], $new_data['title']['raw'] ); 1317 1331 $this->assertEquals( $params['content'], $new_data['content']['raw'] ); 1318 1332 $this->assertEquals( $params['excerpt'], $new_data['excerpt']['raw'] ); 1319 $post = get_post( $this->post_id );1333 $post = get_post( self::$post_id ); 1320 1334 $this->assertEquals( $params['title'], $post->post_title ); 1321 1335 $this->assertEquals( $params['content'], $post->post_content ); … … 1324 1338 1325 1339 public function test_rest_update_post() { 1326 wp_set_current_user( $this->editor_id );1327 1328 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1340 wp_set_current_user( self::$editor_id ); 1341 1342 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1329 1343 $request->add_header( 'content-type', 'application/json' ); 1330 1344 $params = $this->set_post_data(); … … 1334 1348 $this->check_update_post_response( $response ); 1335 1349 $new_data = $response->get_data(); 1336 $this->assertEquals( $this->post_id, $new_data['id'] );1350 $this->assertEquals( self::$post_id, $new_data['id'] ); 1337 1351 $this->assertEquals( $params['title'], $new_data['title']['raw'] ); 1338 1352 $this->assertEquals( $params['content'], $new_data['content']['raw'] ); 1339 1353 $this->assertEquals( $params['excerpt'], $new_data['excerpt']['raw'] ); 1340 $post = get_post( $this->post_id );1354 $post = get_post( self::$post_id ); 1341 1355 $this->assertEquals( $params['title'], $post->post_title ); 1342 1356 $this->assertEquals( $params['content'], $post->post_content ); … … 1345 1359 1346 1360 public function test_rest_update_post_raw() { 1347 wp_set_current_user( $this->editor_id );1348 1349 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1361 wp_set_current_user( self::$editor_id ); 1362 1363 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1350 1364 $request->add_header( 'content-type', 'application/json' ); 1351 1365 $params = $this->set_raw_post_data(); … … 1355 1369 $this->check_update_post_response( $response ); 1356 1370 $new_data = $response->get_data(); 1357 $this->assertEquals( $this->post_id, $new_data['id'] );1371 $this->assertEquals( self::$post_id, $new_data['id'] ); 1358 1372 $this->assertEquals( $params['title']['raw'], $new_data['title']['raw'] ); 1359 1373 $this->assertEquals( $params['content']['raw'], $new_data['content']['raw'] ); 1360 1374 $this->assertEquals( $params['excerpt']['raw'], $new_data['excerpt']['raw'] ); 1361 $post = get_post( $this->post_id );1375 $post = get_post( self::$post_id ); 1362 1376 $this->assertEquals( $params['title']['raw'], $post->post_title ); 1363 1377 $this->assertEquals( $params['content']['raw'], $post->post_content ); … … 1366 1380 1367 1381 public function test_update_post_without_extra_params() { 1368 wp_set_current_user( $this->editor_id );1369 1370 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1382 wp_set_current_user( self::$editor_id ); 1383 1384 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1371 1385 $params = $this->set_post_data(); 1372 1386 unset( $params['type'] ); … … 1381 1395 1382 1396 public function test_update_post_without_permission() { 1383 wp_set_current_user( $this->editor_id );1397 wp_set_current_user( self::$editor_id ); 1384 1398 $user = wp_get_current_user(); 1385 1399 $user->add_cap( 'edit_published_posts', false ); … … 1388 1402 $user->update_user_level_from_caps(); 1389 1403 1390 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1404 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1391 1405 $params = $this->set_post_data(); 1392 1406 $request->set_body_params( $params ); … … 1397 1411 1398 1412 public function test_update_post_sticky_as_contributor() { 1399 wp_set_current_user( $this->contributor_id );1400 1401 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1413 wp_set_current_user( self::$contributor_id ); 1414 1415 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1402 1416 $params = $this->set_post_data( array( 1403 1417 'sticky' => true, … … 1411 1425 1412 1426 public function test_update_post_invalid_id() { 1413 wp_set_current_user( $this->editor_id );1427 wp_set_current_user( self::$editor_id ); 1414 1428 1415 1429 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', REST_TESTS_IMPOSSIBLY_HIGH_NUMBER ) ); … … 1420 1434 1421 1435 public function test_update_post_invalid_route() { 1422 wp_set_current_user( $this->editor_id );1423 1424 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/pages/%d', $this->post_id ) );1436 wp_set_current_user( self::$editor_id ); 1437 1438 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/pages/%d', self::$post_id ) ); 1425 1439 $response = $this->server->dispatch( $request ); 1426 1440 … … 1429 1443 1430 1444 public function test_update_post_with_format() { 1431 wp_set_current_user( $this->editor_id );1432 1433 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1445 wp_set_current_user( self::$editor_id ); 1446 1447 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1434 1448 $params = $this->set_post_data( array( 1435 1449 'format' => 'gallery', … … 1445 1459 1446 1460 public function test_update_post_with_invalid_format() { 1447 wp_set_current_user( $this->editor_id );1448 1449 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1461 wp_set_current_user( self::$editor_id ); 1462 1463 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1450 1464 $params = $this->set_post_data( array( 1451 1465 'format' => 'testformat', … … 1458 1472 1459 1473 public function test_update_post_ignore_readonly() { 1460 wp_set_current_user( $this->editor_id );1474 wp_set_current_user( self::$editor_id ); 1461 1475 1462 1476 $new_content = rand_str(); 1463 1477 $expected_modified = current_time( 'mysql' ); 1464 1478 1465 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1479 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1466 1480 $params = $this->set_post_data( array( 1467 1481 'modified' => '2010-06-01T02:00:00Z', … … 1484 1498 1485 1499 public function test_update_post_with_invalid_date() { 1486 wp_set_current_user( $this->editor_id );1487 1488 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1500 wp_set_current_user( self::$editor_id ); 1501 1502 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1489 1503 $params = $this->set_post_data( array( 1490 1504 'date' => rand_str(), … … 1497 1511 1498 1512 public function test_update_post_with_invalid_date_gmt() { 1499 wp_set_current_user( $this->editor_id );1500 1501 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1513 wp_set_current_user( self::$editor_id ); 1514 1515 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1502 1516 $params = $this->set_post_data( array( 1503 1517 'date_gmt' => rand_str(), … … 1510 1524 1511 1525 public function test_update_post_slug() { 1512 wp_set_current_user( $this->editor_id );1513 1514 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1526 wp_set_current_user( self::$editor_id ); 1527 1528 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1515 1529 $params = $this->set_post_data( array( 1516 1530 'slug' => 'sample-slug', … … 1526 1540 1527 1541 public function test_update_post_slug_accented_chars() { 1528 wp_set_current_user( $this->editor_id );1529 1530 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1542 wp_set_current_user( self::$editor_id ); 1543 1544 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1531 1545 $params = $this->set_post_data( array( 1532 1546 'slug' => 'tęst-acceńted-chäræcters', … … 1542 1556 1543 1557 public function test_update_post_sticky() { 1544 wp_set_current_user( $this->editor_id );1545 1546 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1558 wp_set_current_user( self::$editor_id ); 1559 1560 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1547 1561 $params = $this->set_post_data( array( 1548 1562 'sticky' => true, … … 1557 1571 1558 1572 // Updating another field shouldn't change sticky status 1559 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1573 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1560 1574 $params = $this->set_post_data( array( 1561 1575 'title' => 'This should not reset sticky', … … 1571 1585 1572 1586 public function test_update_post_excerpt() { 1573 wp_set_current_user( $this->editor_id );1574 1575 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1587 wp_set_current_user( self::$editor_id ); 1588 1589 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1576 1590 $request->set_body_params( array( 1577 1591 'excerpt' => 'An Excerpt', … … 1584 1598 1585 1599 public function test_update_post_empty_excerpt() { 1586 wp_set_current_user( $this->editor_id );1587 1588 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1600 wp_set_current_user( self::$editor_id ); 1601 1602 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1589 1603 $request->set_body_params( array( 1590 1604 'excerpt' => '', … … 1597 1611 1598 1612 public function test_update_post_content() { 1599 wp_set_current_user( $this->editor_id );1600 1601 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1613 wp_set_current_user( self::$editor_id ); 1614 1615 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1602 1616 $request->set_body_params( array( 1603 1617 'content' => 'Some Content', … … 1610 1624 1611 1625 public function test_update_post_empty_content() { 1612 wp_set_current_user( $this->editor_id );1613 1614 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1626 wp_set_current_user( self::$editor_id ); 1627 1628 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1615 1629 $request->set_body_params( array( 1616 1630 'content' => '', … … 1623 1637 1624 1638 public function test_update_post_with_password_and_sticky_fails() { 1625 wp_set_current_user( $this->editor_id );1626 1627 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1639 wp_set_current_user( self::$editor_id ); 1640 1641 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1628 1642 $params = $this->set_post_data( array( 1629 1643 'password' => '123', … … 1637 1651 1638 1652 public function test_update_stick_post_with_password_fails() { 1639 wp_set_current_user( $this->editor_id );1640 1641 stick_post( $this->post_id );1642 1643 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1653 wp_set_current_user( self::$editor_id ); 1654 1655 stick_post( self::$post_id ); 1656 1657 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1644 1658 $params = $this->set_post_data( array( 1645 1659 'password' => '123', … … 1652 1666 1653 1667 public function test_update_password_protected_post_with_sticky_fails() { 1654 wp_set_current_user( $this->editor_id );1655 1656 wp_update_post( array( 'ID' => $this->post_id, 'post_password' => '123' ) );1657 1658 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1668 wp_set_current_user( self::$editor_id ); 1669 1670 wp_update_post( array( 'ID' => self::$post_id, 'post_password' => '123' ) ); 1671 1672 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1659 1673 $params = $this->set_post_data( array( 1660 1674 'sticky' => true, … … 1667 1681 1668 1682 public function test_update_post_with_quotes_in_title() { 1669 wp_set_current_user( $this->editor_id );1670 1671 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1683 wp_set_current_user( self::$editor_id ); 1684 1685 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1672 1686 $params = $this->set_post_data( array( 1673 1687 'title' => "Rob O'Rourke's Diary", … … 1681 1695 public function test_update_post_with_categories() { 1682 1696 1683 wp_set_current_user( $this->editor_id );1697 wp_set_current_user( self::$editor_id ); 1684 1698 $category = wp_insert_term( 'Test Category', 'category' ); 1685 1699 1686 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1700 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1687 1701 $params = $this->set_post_data( array( 1688 1702 'title' => 'Tester', … … 1715 1729 public function test_update_post_with_empty_categories() { 1716 1730 1717 wp_set_current_user( $this->editor_id );1731 wp_set_current_user( self::$editor_id ); 1718 1732 $category = wp_insert_term( 'Test Category', 'category' ); 1719 wp_set_object_terms( $this->post_id, $category['term_id'], 'category' );1720 1721 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1733 wp_set_object_terms( self::$post_id, $category['term_id'], 'category' ); 1734 1735 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1722 1736 $params = $this->set_post_data( array( 1723 1737 'title' => 'Tester', … … 1732 1746 public function test_delete_item() { 1733 1747 $post_id = $this->factory->post->create( array( 'post_title' => 'Deleted post' ) ); 1734 wp_set_current_user( $this->editor_id );1748 wp_set_current_user( self::$editor_id ); 1735 1749 1736 1750 $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/posts/%d', $post_id ) ); … … 1745 1759 public function test_delete_item_skip_trash() { 1746 1760 $post_id = $this->factory->post->create( array( 'post_title' => 'Deleted post' ) ); 1747 wp_set_current_user( $this->editor_id );1761 wp_set_current_user( self::$editor_id ); 1748 1762 1749 1763 $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/posts/%d', $post_id ) ); … … 1759 1773 public function test_delete_item_already_trashed() { 1760 1774 $post_id = $this->factory->post->create( array( 'post_title' => 'Deleted post' ) ); 1761 wp_set_current_user( $this->editor_id );1775 wp_set_current_user( self::$editor_id ); 1762 1776 $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/posts/%d', $post_id ) ); 1763 1777 $response = $this->server->dispatch( $request ); … … 1768 1782 1769 1783 public function test_delete_post_invalid_id() { 1770 wp_set_current_user( $this->editor_id );1784 wp_set_current_user( self::$editor_id ); 1771 1785 1772 1786 $request = new WP_REST_Request( 'DELETE', '/wp/v2/posts/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER ); … … 1778 1792 public function test_delete_post_invalid_post_type() { 1779 1793 $page_id = $this->factory->post->create( array( 'post_type' => 'page' ) ); 1780 wp_set_current_user( $this->editor_id );1794 wp_set_current_user( self::$editor_id ); 1781 1795 1782 1796 $request = new WP_REST_Request( 'DELETE', '/wp/v2/posts/' . $page_id ); … … 1787 1801 1788 1802 public function test_delete_post_without_permission() { 1789 wp_set_current_user( $this->author_id );1790 1791 $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1803 wp_set_current_user( self::$author_id ); 1804 1805 $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1792 1806 $response = $this->server->dispatch( $request ); 1793 1807 … … 1906 1920 ) ); 1907 1921 1908 wp_set_current_user( $this->editor_id );1922 wp_set_current_user( self::$editor_id ); 1909 1923 // Check for error on update. 1910 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );1924 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 1911 1925 $request->set_body_params( array( 1912 1926 'my_custom_int' => 'returnError',
Note: See TracChangeset
for help on using the changeset viewer.