Changeset 38975
- Timestamp:
- 10/27/2016 02:56:28 AM (7 years ago)
- Location:
- trunk/tests/phpunit/tests/rest-api
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/rest-api/rest-attachments-controller.php
r38968 r38975 11 11 */ 12 12 class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Controller_Testcase { 13 protected static $editor_id; 14 protected static $author_id; 15 protected static $contributor_id; 16 protected static $uploader_id; 17 18 public static function wpSetUpBeforeClass( $factory ) { 19 self::$editor_id = $factory->user->create( array( 20 'role' => 'editor', 21 ) ); 22 self::$author_id = $factory->user->create( array( 23 'role' => 'author', 24 ) ); 25 self::$contributor_id = $factory->user->create( array( 26 'role' => 'contributor', 27 ) ); 28 self::$uploader_id = $factory->user->create( array( 29 'role' => 'uploader', 30 ) ); 31 } 32 33 public static function wpTearDownAfterClass() { 34 self::delete_user( self::$editor_id ); 35 self::delete_user( self::$author_id ); 36 self::delete_user( self::$contributor_id ); 37 self::delete_user( self::$uploader_id ); 38 } 13 39 14 40 public function setUp() { 15 41 parent::setUp(); 16 17 $this->editor_id = $this->factory->user->create( array(18 'role' => 'editor',19 ) );20 $this->author_id = $this->factory->user->create( array(21 'role' => 'author',22 ) );23 $this->contributor_id = $this->factory->user->create( array(24 'role' => 'contributor',25 ) );26 42 27 43 // Add an uploader role to test upload capabilities. … … 31 47 $role->add_cap( 'read' ); 32 48 $role->add_cap( 'level_0' ); 33 $this->uploader_id = $this->factory->user->create( array(34 'role' => 'uploader',35 ) );36 49 37 50 $orig_file = DIR_TESTDATA . '/images/canola.jpg'; … … 180 193 181 194 public function test_get_items_logged_in_editor() { 182 wp_set_current_user( $this->editor_id );195 wp_set_current_user( self::$editor_id ); 183 196 $id1 = $this->factory->attachment->create_object( $this->test_file, 0, array( 184 197 'post_mime_type' => 'image/jpeg', … … 281 294 282 295 public function test_get_items_invalid_status_param_is_error_response() { 283 wp_set_current_user( $this->editor_id );296 wp_set_current_user( self::$editor_id ); 284 297 $this->factory->attachment->create_object( $this->test_file, 0, array( 285 298 'post_mime_type' => 'image/jpeg', … … 308 321 $this->assertErrorResponse( 'rest_invalid_param', $response, 400 ); 309 322 // Properly authorized users can make the request 310 wp_set_current_user( $this->editor_id );323 wp_set_current_user( self::$editor_id ); 311 324 $response = $this->server->dispatch( $request ); 312 325 $this->assertEquals( 200, $response->get_status() ); … … 416 429 417 430 public function test_create_item() { 418 wp_set_current_user( $this->author_id );431 wp_set_current_user( self::$author_id ); 419 432 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 420 433 $request->set_header( 'Content-Type', 'image/jpeg' ); … … 428 441 429 442 public function test_create_item_default_filename_title() { 430 wp_set_current_user( $this->author_id );443 wp_set_current_user( self::$author_id ); 431 444 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 432 445 $request->set_file_params( array( … … 446 459 447 460 public function test_create_item_with_files() { 448 wp_set_current_user( $this->author_id );461 wp_set_current_user( self::$author_id ); 449 462 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 450 463 $request->set_file_params( array( … … 462 475 463 476 public function test_create_item_with_upload_files_role() { 464 wp_set_current_user( $this->uploader_id );477 wp_set_current_user( self::$uploader_id ); 465 478 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 466 479 $request->set_file_params( array( … … 478 491 479 492 public function test_create_item_empty_body() { 480 wp_set_current_user( $this->author_id );493 wp_set_current_user( self::$author_id ); 481 494 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 482 495 $response = $this->server->dispatch( $request ); … … 485 498 486 499 public function test_create_item_missing_content_type() { 487 wp_set_current_user( $this->author_id );500 wp_set_current_user( self::$author_id ); 488 501 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 489 502 $request->set_body( file_get_contents( $this->test_file ) ); … … 493 506 494 507 public function test_create_item_missing_content_disposition() { 495 wp_set_current_user( $this->author_id );508 wp_set_current_user( self::$author_id ); 496 509 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 497 510 $request->set_header( 'Content-Type', 'image/jpeg' ); … … 502 515 503 516 public function test_create_item_bad_md5_header() { 504 wp_set_current_user( $this->author_id );517 wp_set_current_user( self::$author_id ); 505 518 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 506 519 $request->set_header( 'Content-Type', 'image/jpeg' ); … … 513 526 514 527 public function test_create_item_with_files_bad_md5_header() { 515 wp_set_current_user( $this->author_id );528 wp_set_current_user( self::$author_id ); 516 529 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 517 530 $request->set_file_params( array( … … 529 542 530 543 public function test_create_item_invalid_upload_files_capability() { 531 wp_set_current_user( $this->contributor_id );544 wp_set_current_user( self::$contributor_id ); 532 545 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 533 546 $response = $this->server->dispatch( $request ); … … 536 549 537 550 public function test_create_item_invalid_edit_permissions() { 538 $post_id = $this->factory->post->create( array( 'post_author' => $this->editor_id ) );539 wp_set_current_user( $this->author_id );551 $post_id = $this->factory->post->create( array( 'post_author' => self::$editor_id ) ); 552 wp_set_current_user( self::$author_id ); 540 553 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 541 554 $request->set_param( 'post', $post_id ); … … 545 558 546 559 public function test_create_item_invalid_upload_permissions() { 547 $post_id = $this->factory->post->create( array( 'post_author' => $this->editor_id ) );548 wp_set_current_user( $this->uploader_id );560 $post_id = $this->factory->post->create( array( 'post_author' => self::$editor_id ) ); 561 wp_set_current_user( self::$uploader_id ); 549 562 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 550 563 $request->set_param( 'post', $post_id ); … … 555 568 public function test_create_item_invalid_post_type() { 556 569 $attachment_id = $this->factory->post->create( array( 'post_type' => 'attachment', 'post_status' => 'inherit', 'post_parent' => 0 ) ); 557 wp_set_current_user( $this->editor_id );570 wp_set_current_user( self::$editor_id ); 558 571 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 559 572 $request->set_header( 'Content-Type', 'image/jpeg' ); … … 566 579 567 580 public function test_create_item_alt_text() { 568 wp_set_current_user( $this->author_id );581 wp_set_current_user( self::$author_id ); 569 582 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 570 583 $request->set_header( 'Content-Type', 'image/jpeg' ); … … 579 592 580 593 public function test_create_item_unsafe_alt_text() { 581 wp_set_current_user( $this->author_id );594 wp_set_current_user( self::$author_id ); 582 595 $request = new WP_REST_Request( 'POST', '/wp/v2/media' ); 583 596 $request->set_header( 'Content-Type', 'image/jpeg' ); … … 591 604 592 605 public function test_update_item() { 593 wp_set_current_user( $this->editor_id );594 $attachment_id = $this->factory->attachment->create_object( $this->test_file, 0, array( 595 'post_mime_type' => 'image/jpeg', 596 'post_excerpt' => 'A sample caption', 597 'post_author' => $this->editor_id,606 wp_set_current_user( self::$editor_id ); 607 $attachment_id = $this->factory->attachment->create_object( $this->test_file, 0, array( 608 'post_mime_type' => 'image/jpeg', 609 'post_excerpt' => 'A sample caption', 610 'post_author' => self::$editor_id, 598 611 ) ); 599 612 $request = new WP_REST_Request( 'POST', '/wp/v2/media/' . $attachment_id ); … … 616 629 617 630 public function test_update_item_parent() { 618 wp_set_current_user( $this->editor_id );631 wp_set_current_user( self::$editor_id ); 619 632 $original_parent = $this->factory->post->create( array() ); 620 633 $attachment_id = $this->factory->attachment->create_object( $this->test_file, $original_parent, array( … … 637 650 638 651 public function test_update_item_invalid_permissions() { 639 wp_set_current_user( $this->author_id );640 $attachment_id = $this->factory->attachment->create_object( $this->test_file, 0, array( 641 'post_mime_type' => 'image/jpeg', 642 'post_excerpt' => 'A sample caption', 643 'post_author' => $this->editor_id,652 wp_set_current_user( self::$author_id ); 653 $attachment_id = $this->factory->attachment->create_object( $this->test_file, 0, array( 654 'post_mime_type' => 'image/jpeg', 655 'post_excerpt' => 'A sample caption', 656 'post_author' => self::$editor_id, 644 657 ) ); 645 658 $request = new WP_REST_Request( 'POST', '/wp/v2/media/' . $attachment_id ); … … 651 664 public function test_update_item_invalid_post_type() { 652 665 $attachment_id = $this->factory->post->create( array( 'post_type' => 'attachment', 'post_status' => 'inherit', 'post_parent' => 0 ) ); 653 wp_set_current_user( $this->editor_id );654 $attachment_id = $this->factory->attachment->create_object( $this->test_file, 0, array( 655 'post_mime_type' => 'image/jpeg', 656 'post_excerpt' => 'A sample caption', 657 'post_author' => $this->editor_id,666 wp_set_current_user( self::$editor_id ); 667 $attachment_id = $this->factory->attachment->create_object( $this->test_file, 0, array( 668 'post_mime_type' => 'image/jpeg', 669 'post_excerpt' => 'A sample caption', 670 'post_author' => self::$editor_id, 658 671 ) ); 659 672 $request = new WP_REST_Request( 'POST', '/wp/v2/media/' . $attachment_id ); … … 664 677 665 678 public function test_delete_item() { 666 wp_set_current_user( $this->editor_id );679 wp_set_current_user( self::$editor_id ); 667 680 $attachment_id = $this->factory->attachment->create_object( $this->test_file, 0, array( 668 681 'post_mime_type' => 'image/jpeg', … … 676 689 677 690 public function test_delete_item_no_trash() { 678 wp_set_current_user( $this->editor_id );691 wp_set_current_user( self::$editor_id ); 679 692 $attachment_id = $this->factory->attachment->create_object( $this->test_file, 0, array( 680 693 'post_mime_type' => 'image/jpeg', … … 693 706 694 707 public function test_delete_item_invalid_delete_permissions() { 695 wp_set_current_user( $this->author_id );696 $attachment_id = $this->factory->attachment->create_object( $this->test_file, 0, array( 697 'post_mime_type' => 'image/jpeg', 698 'post_excerpt' => 'A sample caption', 699 'post_author' => $this->editor_id,708 wp_set_current_user( self::$author_id ); 709 $attachment_id = $this->factory->attachment->create_object( $this->test_file, 0, array( 710 'post_mime_type' => 'image/jpeg', 711 'post_excerpt' => 'A sample caption', 712 'post_author' => self::$editor_id, 700 713 ) ); 701 714 $request = new WP_REST_Request( 'DELETE', '/wp/v2/media/' . $attachment_id ); … … 708 721 'post_mime_type' => 'image/jpeg', 709 722 'post_excerpt' => 'A sample caption', 710 'post_author' => $this->editor_id,723 'post_author' => self::$editor_id, 711 724 ) ); 712 725 … … 799 812 ) ); 800 813 801 wp_set_current_user( $this->editor_id );802 $attachment_id = $this->factory->attachment->create_object( $this->test_file, 0, array( 803 'post_mime_type' => 'image/jpeg', 804 'post_excerpt' => 'A sample caption', 805 'post_author' => $this->editor_id,814 wp_set_current_user( self::$editor_id ); 815 $attachment_id = $this->factory->attachment->create_object( $this->test_file, 0, array( 816 'post_mime_type' => 'image/jpeg', 817 'post_excerpt' => 'A sample caption', 818 'post_author' => self::$editor_id, 806 819 ) ); 807 820 // Check for error on update. -
trunk/tests/phpunit/tests/rest-api/rest-categories-controller.php
r38942 r38975 12 12 */ 13 13 class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcase { 14 15 public function setUp() { 16 parent::setUp(); 17 $this->administrator = $this->factory->user->create( array( 14 protected static $administrator; 15 protected static $subscriber; 16 17 public static function wpSetUpBeforeClass( $factory ) { 18 self::$administrator = $factory->user->create( array( 18 19 'role' => 'administrator', 19 20 ) ); 20 $this->subscriber = $this->factory->user->create( array(21 self::$subscriber = $factory->user->create( array( 21 22 'role' => 'subscriber', 22 23 ) ); 24 } 25 26 public static function wpTearDownAfterClass() { 27 self::delete_user( self::$administrator ); 28 self::delete_user( self::$subscriber ); 23 29 } 24 30 … … 573 579 574 580 public function test_create_item() { 575 wp_set_current_user( $this->administrator );581 wp_set_current_user( self::$administrator ); 576 582 $request = new WP_REST_Request( 'POST', '/wp/v2/categories' ); 577 583 $request->set_param( 'name', 'My Awesome Term' ); … … 589 595 590 596 public function test_create_item_invalid_taxonomy() { 591 wp_set_current_user( $this->administrator );597 wp_set_current_user( self::$administrator ); 592 598 $request = new WP_REST_Request( 'POST', '/wp/v2/invalid-taxonomy' ); 593 599 $request->set_param( 'name', 'Invalid Taxonomy' ); … … 597 603 598 604 public function test_create_item_incorrect_permissions() { 599 wp_set_current_user( $this->subscriber );605 wp_set_current_user( self::$subscriber ); 600 606 $request = new WP_REST_Request( 'POST', '/wp/v2/categories' ); 601 607 $request->set_param( 'name', 'Incorrect permissions' ); … … 605 611 606 612 public function test_create_item_missing_arguments() { 607 wp_set_current_user( $this->administrator );613 wp_set_current_user( self::$administrator ); 608 614 $request = new WP_REST_Request( 'POST', '/wp/v2/categories' ); 609 615 $response = $this->server->dispatch( $request ); … … 612 618 613 619 public function test_create_item_with_parent() { 614 wp_set_current_user( $this->administrator );620 wp_set_current_user( self::$administrator ); 615 621 $parent = wp_insert_term( 'test-category', 'category' ); 616 622 $request = new WP_REST_Request( 'POST', '/wp/v2/categories' ); … … 624 630 625 631 public function test_create_item_invalid_parent() { 626 wp_set_current_user( $this->administrator );632 wp_set_current_user( self::$administrator ); 627 633 $term = get_term_by( 'id', $this->factory->category->create(), 'category' ); 628 634 … … 635 641 636 642 public function test_update_item() { 637 wp_set_current_user( $this->administrator );643 wp_set_current_user( self::$administrator ); 638 644 $orig_args = array( 639 645 'name' => 'Original Name', … … 655 661 656 662 public function test_update_item_invalid_taxonomy() { 657 wp_set_current_user( $this->administrator );663 wp_set_current_user( self::$administrator ); 658 664 $request = new WP_REST_Request( 'POST', '/wp/v2/invalid-taxonomy/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER ); 659 665 $request->set_param( 'name', 'Invalid Taxonomy' ); … … 663 669 664 670 public function test_update_item_invalid_term() { 665 wp_set_current_user( $this->administrator );671 wp_set_current_user( self::$administrator ); 666 672 $request = new WP_REST_Request( 'POST', '/wp/v2/categories/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER ); 667 673 $request->set_param( 'name', 'Invalid Term' ); … … 671 677 672 678 public function test_update_item_incorrect_permissions() { 673 wp_set_current_user( $this->subscriber );679 wp_set_current_user( self::$subscriber ); 674 680 $term = get_term_by( 'id', $this->factory->category->create(), 'category' ); 675 681 $request = new WP_REST_Request( 'POST', '/wp/v2/categories/' . $term->term_id ); … … 680 686 681 687 public function test_update_item_parent() { 682 wp_set_current_user( $this->administrator );688 wp_set_current_user( self::$administrator ); 683 689 $parent = get_term_by( 'id', $this->factory->category->create(), 'category' ); 684 690 $term = get_term_by( 'id', $this->factory->category->create(), 'category' ); … … 694 700 695 701 public function test_update_item_invalid_parent() { 696 wp_set_current_user( $this->administrator );702 wp_set_current_user( self::$administrator ); 697 703 $term = get_term_by( 'id', $this->factory->category->create(), 'category' ); 698 704 … … 704 710 705 711 public function test_delete_item() { 706 wp_set_current_user( $this->administrator );712 wp_set_current_user( self::$administrator ); 707 713 $term = get_term_by( 'id', $this->factory->category->create( array( 'name' => 'Deleted Category' ) ), 'category' ); 708 714 $request = new WP_REST_Request( 'DELETE', '/wp/v2/categories/' . $term->term_id ); … … 715 721 716 722 public function test_delete_item_force_false() { 717 wp_set_current_user( $this->administrator );723 wp_set_current_user( self::$administrator ); 718 724 $term = get_term_by( 'id', $this->factory->category->create( array( 'name' => 'Deleted Category' ) ), 'category' ); 719 725 $request = new WP_REST_Request( 'DELETE', '/wp/v2/categories/' . $term->term_id ); … … 724 730 725 731 public function test_delete_item_invalid_taxonomy() { 726 wp_set_current_user( $this->administrator );732 wp_set_current_user( self::$administrator ); 727 733 $request = new WP_REST_Request( 'DELETE', '/wp/v2/invalid-taxonomy/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER ); 728 734 $response = $this->server->dispatch( $request ); … … 731 737 732 738 public function test_delete_item_invalid_term() { 733 wp_set_current_user( $this->administrator );739 wp_set_current_user( self::$administrator ); 734 740 $request = new WP_REST_Request( 'DELETE', '/wp/v2/categories/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER ); 735 741 $response = $this->server->dispatch( $request ); … … 738 744 739 745 public function test_delete_item_incorrect_permissions() { 740 wp_set_current_user( $this->subscriber );746 wp_set_current_user( self::$subscriber ); 741 747 $term = get_term_by( 'id', $this->factory->category->create(), 'category' ); 742 748 $request = new WP_REST_Request( 'DELETE', '/wp/v2/categories/' . $term->term_id ); -
trunk/tests/phpunit/tests/rest-api/rest-comments-controller.php
r38864 r38975 12 12 class WP_Test_REST_Comments_Controller extends WP_Test_REST_Controller_Testcase { 13 13 14 protected $admin_id;15 protected $subscriber_id;16 17 protected $post_id; 18 protected $private_id;19 protected $draft_id;20 protected $trash_id;21 22 protected $approved_id;23 protected $hold_id;14 protected static $admin_id; 15 protected static $subscriber_id; 16 protected static $author_id; 17 18 protected static $post_id; 19 protected static $private_id; 20 protected static $draft_id; 21 protected static $trash_id; 22 protected static $approved_id; 23 protected static $hold_id; 24 24 25 25 protected $endpoint; 26 26 27 public function setUp() { 28 parent::setUp(); 29 30 $this->admin_id = $this->factory->user->create( array( 27 public static function wpSetUpBeforeClass( $factory ) { 28 self::$admin_id = $factory->user->create( array( 31 29 'role' => 'administrator', 32 ) );33 $this->subscriber_id = $this->factory->user->create( array(30 ) ); 31 self::$subscriber_id = $factory->user->create( array( 34 32 'role' => 'subscriber', 35 ) );36 $this->author_id = $this->factory->user->create( array(33 ) ); 34 self::$author_id = $factory->user->create( array( 37 35 'role' => 'author', 38 36 'display_name' => 'Sea Captain', … … 41 39 'user_email' => 'captain@thefryingdutchman.com', 42 40 'user_url' => 'http://thefryingdutchman.com', 43 ) );44 45 $this->post_id = $this->factory->post->create();46 $this->private_id = $this->factory->post->create( array(41 ) ); 42 43 self::$post_id = $factory->post->create(); 44 self::$private_id = $factory->post->create( array( 47 45 'post_status' => 'private', 48 ) );49 $this->draft_id = $this->factory->post->create( array(46 ) ); 47 self::$draft_id = $factory->post->create( array( 50 48 'post_status' => 'draft', 51 ) );52 $this->trash_id = $this->factory->post->create( array(49 ) ); 50 self::$trash_id = $factory->post->create( array( 53 51 'post_status' => 'trash', 54 ) );55 56 $this->approved_id = $this->factory->comment->create( array(57 'comment_approved' => 1, 58 'comment_post_ID' => $this->post_id,52 ) ); 53 54 self::$approved_id = $factory->comment->create( array( 55 'comment_approved' => 1, 56 'comment_post_ID' => self::$post_id, 59 57 'user_id' => 0, 60 ) );61 $this->hold_id = $this->factory->comment->create( array(58 ) ); 59 self::$hold_id = $factory->comment->create( array( 62 60 'comment_approved' => 0, 63 'comment_post_ID' => $this->post_id, 64 'user_id' => $this->subscriber_id, 65 )); 66 61 'comment_post_ID' => self::$post_id, 62 'user_id' => self::$subscriber_id, 63 ) ); 64 } 65 66 public static function wpTearDownAfterClass() { 67 self::delete_user( self::$admin_id ); 68 self::delete_user( self::$subscriber_id ); 69 self::delete_user( self::$author_id ); 70 71 wp_delete_post( self::$post_id, true ); 72 wp_delete_post( self::$private_id, true ); 73 wp_delete_post( self::$draft_id, true ); 74 wp_delete_post( self::$trash_id, true ); 75 wp_delete_post( self::$approved_id, true ); 76 wp_delete_post( self::$hold_id, true ); 77 } 78 79 public function setUp() { 80 parent::setUp(); 67 81 $this->endpoint = new WP_REST_Comments_Controller; 68 82 } … … 89 103 $this->assertEquals( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] ); 90 104 // Single 91 $request = new WP_REST_Request( 'OPTIONS', '/wp/v2/comments/' . $this->approved_id );105 $request = new WP_REST_Request( 'OPTIONS', '/wp/v2/comments/' . self::$approved_id ); 92 106 $response = $this->server->dispatch( $request ); 93 107 $data = $response->get_data(); … … 127 141 128 142 public function test_get_items() { 129 $this->factory->comment->create_post_comments( $this->post_id, 6 );143 $this->factory->comment->create_post_comments( self::$post_id, 6 ); 130 144 131 145 $request = new WP_REST_Request( 'GET', '/wp/v2/comments' ); … … 135 149 136 150 $comments = $response->get_data(); 137 // We created 6 comments in this method, plus $this->approved_id.151 // We created 6 comments in this method, plus self::$approved_id. 138 152 $this->assertCount( 7, $comments ); 139 153 } … … 144 158 $args = array( 145 159 'comment_approved' => 1, 146 'comment_post_ID' => $this->private_id,160 'comment_post_ID' => self::$private_id, 147 161 ); 148 162 $private_comment = $this->factory->comment->create( $args ); … … 158 172 159 173 public function test_get_items_with_private_post_permission() { 160 wp_set_current_user( $this->admin_id );174 wp_set_current_user( self::$admin_id ); 161 175 162 176 $args = array( 163 177 'comment_approved' => 1, 164 'comment_post_ID' => $this->private_id,178 'comment_post_ID' => self::$private_id, 165 179 ); 166 180 $private_comment = $this->factory->comment->create( $args ); … … 195 209 196 210 public function test_get_items_with_invalid_post_permission() { 197 wp_set_current_user( $this->admin_id );211 wp_set_current_user( self::$admin_id ); 198 212 199 213 $comment_id = $this->factory->comment->create( array( … … 223 237 public function test_get_items_no_post() { 224 238 $this->factory->comment->create_post_comments( 0, 2 ); 225 wp_set_current_user( $this->admin_id );239 wp_set_current_user( self::$admin_id ); 226 240 $request = new WP_REST_Request( 'GET', '/wp/v2/comments' ); 227 241 $request->set_param( 'post', 0 ); … … 241 255 242 256 public function test_get_items_edit_context() { 243 wp_set_current_user( $this->admin_id );257 wp_set_current_user( self::$admin_id ); 244 258 $request = new WP_REST_Request( 'GET', '/wp/v2/comments' ); 245 259 $request->set_param( 'context', 'edit' ); … … 265 279 266 280 public function test_get_items_include_query() { 267 wp_set_current_user( $this->admin_id );281 wp_set_current_user( self::$admin_id ); 268 282 $args = array( 269 283 'comment_approved' => 1, 270 'comment_post_ID' => $this->post_id,284 'comment_post_ID' => self::$post_id, 271 285 ); 272 286 $id1 = $this->factory->comment->create( $args ); … … 290 304 291 305 public function test_get_items_exclude_query() { 292 wp_set_current_user( $this->admin_id );306 wp_set_current_user( self::$admin_id ); 293 307 $args = array( 294 308 'comment_approved' => 1, 295 'comment_post_ID' => $this->post_id,309 'comment_post_ID' => self::$post_id, 296 310 ); 297 311 $id1 = $this->factory->comment->create( $args ); … … 310 324 311 325 public function test_get_items_offset_query() { 312 wp_set_current_user( $this->admin_id );326 wp_set_current_user( self::$admin_id ); 313 327 $args = array( 314 328 'comment_approved' => 1, 315 'comment_post_ID' => $this->post_id,329 'comment_post_ID' => self::$post_id, 316 330 ); 317 331 $this->factory->comment->create( $args ); … … 333 347 334 348 public function test_get_items_order_query() { 335 wp_set_current_user( $this->admin_id );349 wp_set_current_user( self::$admin_id ); 336 350 $args = array( 337 351 'comment_approved' => 1, 338 'comment_post_ID' => $this->post_id,352 'comment_post_ID' => self::$post_id, 339 353 ); 340 354 $this->factory->comment->create( $args ); … … 350 364 $response = $this->server->dispatch( $request ); 351 365 $data = $response->get_data(); 352 $this->assertEquals( $this->approved_id, $data[0]['id'] );366 $this->assertEquals( self::$approved_id, $data[0]['id'] ); 353 367 } 354 368 … … 364 378 public function test_get_items_author_arg() { 365 379 // Authorized 366 wp_set_current_user( $this->admin_id );380 wp_set_current_user( self::$admin_id ); 367 381 $args = array( 368 382 'comment_approved' => 1, 369 'comment_post_ID' => $this->post_id,370 'user_id' => $this->author_id,383 'comment_post_ID' => self::$post_id, 384 'user_id' => self::$author_id, 371 385 ); 372 386 $this->factory->comment->create( $args ); 373 $args['user_id'] = $this->subscriber_id;387 $args['user_id'] = self::$subscriber_id; 374 388 $this->factory->comment->create( $args ); 375 389 unset( $args['user_id'] ); … … 378 392 // 'author' limits result to 1 of 3 379 393 $request = new WP_REST_Request( 'GET', '/wp/v2/comments' ); 380 $request->set_param( 'author', $this->author_id );394 $request->set_param( 'author', self::$author_id ); 381 395 $response = $this->server->dispatch( $request ); 382 396 $this->assertEquals( 200, $response->get_status() ); … … 384 398 $this->assertCount( 1, $comments ); 385 399 // Multiple authors are supported 386 $request->set_param( 'author', array( $this->author_id, $this->subscriber_id ) );400 $request->set_param( 'author', array( self::$author_id, self::$subscriber_id ) ); 387 401 $response = $this->server->dispatch( $request ); 388 402 $this->assertEquals( 200, $response->get_status() ); … … 397 411 public function test_get_items_author_exclude_arg() { 398 412 // Authorized 399 wp_set_current_user( $this->admin_id );413 wp_set_current_user( self::$admin_id ); 400 414 $args = array( 401 415 'comment_approved' => 1, 402 'comment_post_ID' => $this->post_id,403 'user_id' => $this->author_id,416 'comment_post_ID' => self::$post_id, 417 'user_id' => self::$author_id, 404 418 ); 405 419 $this->factory->comment->create( $args ); 406 $args['user_id'] = $this->subscriber_id;420 $args['user_id'] = self::$subscriber_id; 407 421 $this->factory->comment->create( $args ); 408 422 unset( $args['user_id'] ); … … 416 430 // 'author_exclude' limits result to 3 of 4 417 431 $request = new WP_REST_Request( 'GET', '/wp/v2/comments' ); 418 $request->set_param( 'author_exclude', $this->author_id );432 $request->set_param( 'author_exclude', self::$author_id ); 419 433 $response = $this->server->dispatch( $request ); 420 434 $this->assertEquals( 200, $response->get_status() ); … … 423 437 // 'author_exclude' for both comment authors (2 of 4) 424 438 $request = new WP_REST_Request( 'GET', '/wp/v2/comments' ); 425 $request->set_param( 'author_exclude', array( $this->author_id, $this->subscriber_id ) );439 $request->set_param( 'author_exclude', array( self::$author_id, self::$subscriber_id ) ); 426 440 $response = $this->server->dispatch( $request ); 427 441 $this->assertEquals( 200, $response->get_status() ); … … 437 451 $args = array( 438 452 'comment_approved' => 1, 439 'comment_post_ID' => $this->post_id,453 'comment_post_ID' => self::$post_id, 440 454 ); 441 455 $parent_id = $this->factory->comment->create( $args ); … … 462 476 $args = array( 463 477 'comment_approved' => 1, 464 'comment_post_ID' => $this->post_id,478 'comment_post_ID' => self::$post_id, 465 479 ); 466 480 $parent_id = $this->factory->comment->create( $args ); … … 485 499 486 500 public function test_get_items_search_query() { 487 wp_set_current_user( $this->admin_id );501 wp_set_current_user( self::$admin_id ); 488 502 $args = array( 489 503 'comment_approved' => 1, 490 'comment_post_ID' => $this->post_id,504 'comment_post_ID' => self::$post_id, 491 505 'comment_content' => 'foo', 492 506 'comment_author' => 'Homer J Simpson', … … 510 524 511 525 public function test_get_comments_pagination_headers() { 512 wp_set_current_user( $this->admin_id );526 wp_set_current_user( self::$admin_id ); 513 527 // Start of the index 514 528 for ( $i = 0; $i < 49; $i++ ) { 515 529 $this->factory->comment->create( array( 516 530 'comment_content' => "Comment {$i}", 517 'comment_post_ID' => $this->post_id,531 'comment_post_ID' => self::$post_id, 518 532 ) ); 519 533 } … … 531 545 $this->factory->comment->create( array( 532 546 'comment_content' => 'Comment 51', 533 'comment_post_ID' => $this->post_id,547 'comment_post_ID' => self::$post_id, 534 548 ) ); 535 549 $request = new WP_REST_Request( 'GET', '/wp/v2/comments' ); … … 584 598 $comment1 = $this->factory->comment->create( array( 585 599 'comment_date' => '2016-01-15T00:00:00Z', 586 'comment_post_ID' => $this->post_id,600 'comment_post_ID' => self::$post_id, 587 601 ) ); 588 602 $comment2 = $this->factory->comment->create( array( 589 603 'comment_date' => '2016-01-16T00:00:00Z', 590 'comment_post_ID' => $this->post_id,604 'comment_post_ID' => self::$post_id, 591 605 ) ); 592 606 $comment3 = $this->factory->comment->create( array( 593 607 'comment_date' => '2016-01-17T00:00:00Z', 594 'comment_post_ID' => $this->post_id,608 'comment_post_ID' => self::$post_id, 595 609 ) ); 596 610 … … 605 619 606 620 public function test_get_item() { 607 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/comments/%d', $this->approved_id ) );621 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/comments/%d', self::$approved_id ) ); 608 622 609 623 $response = $this->server->dispatch( $request ); … … 615 629 616 630 public function test_prepare_item() { 617 wp_set_current_user( $this->admin_id );618 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/comments/%d', $this->approved_id ) );631 wp_set_current_user( self::$admin_id ); 632 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/comments/%d', self::$approved_id ) ); 619 633 $request->set_query_params( array( 620 634 'context' => 'edit', … … 629 643 630 644 public function test_get_comment_author_avatar_urls() { 631 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/comments/%d', $this->approved_id ) );645 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/comments/%d', self::$approved_id ) ); 632 646 633 647 $response = $this->server->dispatch( $request ); … … 638 652 $this->assertArrayHasKey( 96, $data['author_avatar_urls'] ); 639 653 640 $comment = get_comment( $this->approved_id );654 $comment = get_comment( self::$approved_id ); 641 655 /** 642 656 * Ignore the subdomain, since 'get_avatar_url randomly sets the Gravatar … … 655 669 public function test_get_comment_invalid_context() { 656 670 wp_set_current_user( 0 ); 657 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/comments/%s', $this->approved_id ) );671 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/comments/%s', self::$approved_id ) ); 658 672 $request->set_param( 'context', 'edit' ); 659 673 $response = $this->server->dispatch( $request ); … … 674 688 675 689 public function test_get_comment_invalid_post_id_as_admin() { 676 wp_set_current_user( $this->admin_id );690 wp_set_current_user( self::$admin_id ); 677 691 $comment_id = $this->factory->comment->create( array( 678 692 'comment_approved' => 1, … … 688 702 wp_set_current_user( 0 ); 689 703 690 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/comments/%d', $this->hold_id ) );704 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/comments/%d', self::$hold_id ) ); 691 705 692 706 $response = $this->server->dispatch( $request ); … … 695 709 696 710 public function test_get_comment_not_approved_same_user() { 697 wp_set_current_user( $this->subscriber_id );698 699 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/comments/%d', $this->hold_id ) );711 wp_set_current_user( self::$subscriber_id ); 712 713 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/comments/%d', self::$hold_id ) ); 700 714 701 715 $response = $this->server->dispatch( $request ); … … 706 720 $comment_id_1 = $this->factory->comment->create( array( 707 721 'comment_approved' => 1, 708 'comment_post_ID' => $this->post_id,709 'user_id' => $this->subscriber_id,722 'comment_post_ID' => self::$post_id, 723 'user_id' => self::$subscriber_id, 710 724 ) ); 711 725 … … 713 727 'comment_approved' => 1, 714 728 'comment_parent' => $comment_id_1, 715 'comment_post_ID' => $this->post_id,716 'user_id' => $this->subscriber_id,729 'comment_post_ID' => self::$post_id, 730 'user_id' => self::$subscriber_id, 717 731 ) ); 718 732 … … 726 740 $comment_id_1 = $this->factory->comment->create( array( 727 741 'comment_approved' => 1, 728 'comment_post_ID' => $this->post_id,729 'user_id' => $this->subscriber_id,742 'comment_post_ID' => self::$post_id, 743 'user_id' => self::$subscriber_id, 730 744 ) ); 731 745 … … 740 754 741 755 $params = array( 742 'post' => $this->post_id,756 'post' => self::$post_id, 743 757 'author_name' => 'Comic Book Guy', 744 758 'author_email' => 'cbg@androidsdungeon.com', … … 759 773 $this->assertEquals( 'hold', $data['status'] ); 760 774 $this->assertEquals( '2014-11-07T10:14:25', $data['date'] ); 761 $this->assertEquals( $this->post_id, $data['post'] );775 $this->assertEquals( self::$post_id, $data['post'] ); 762 776 } 763 777 … … 766 780 767 781 $params = array( 768 'post' => $this->post_id,782 'post' => self::$post_id, 769 783 'author_name' => 'Reverend Lovejoy', 770 784 'author_email' => 'lovejoy@example.com', … … 791 805 792 806 $params = array( 793 'post' => $this->post_id,807 'post' => self::$post_id, 794 808 'content' => 'Now, I don\'t want you to worry class. These tests will have no affect on your grades. They merely determine your future social status and financial success. If any.', 795 809 ); … … 809 823 810 824 $params = array( 811 'post' => $this->post_id,825 'post' => self::$post_id, 812 826 'author_email' => 'ekrabappel@springfield-elementary.edu', 813 827 'content' => 'Now, I don\'t want you to worry class. These tests will have no affect on your grades. They merely determine your future social status and financial success. If any.', … … 828 842 829 843 $params = array( 830 'post' => $this->post_id,844 'post' => self::$post_id, 831 845 'author_name' => 'Edna Krabappel', 832 846 'content' => 'Now, I don\'t want you to worry class. These tests will have no affect on your grades. They merely determine your future social status and financial success. If any.', … … 847 861 848 862 $params = array( 849 'post' => $this->post_id,863 'post' => self::$post_id, 850 864 'author_name' => 'Reverend Lovejoy', 851 865 'author_email' => 'lovejoy@example.com', … … 866 880 867 881 $params = array( 868 'post' => $this->post_id,882 'post' => self::$post_id, 869 883 'author_name' => 'Reverend Lovejoy', 870 884 'author_email' => 'lovejoy@example.com', … … 889 903 )); 890 904 891 wp_set_current_user( $this->admin_id );892 $params = array( 893 'post' => $this->post_id,905 wp_set_current_user( self::$admin_id ); 906 $params = array( 907 'post' => self::$post_id, 894 908 'author_name' => 'Comic Book Guy', 895 909 'author_email' => 'cbg@androidsdungeon.com', … … 912 926 public function test_create_comment_without_type() { 913 927 $post_id = $this->factory->post->create(); 914 wp_set_current_user( $this->admin_id );928 wp_set_current_user( self::$admin_id ); 915 929 916 930 $params = array( 917 931 'post' => $post_id, 918 'author' => $this->admin_id,932 'author' => self::$admin_id, 919 933 'author_name' => 'Comic Book Guy', 920 934 'author_email' => 'cbg@androidsdungeon.com', … … 957 971 958 972 $params = array( 959 'post' => $this->post_id,973 'post' => self::$post_id, 960 974 'content' => "Well sir, there's nothing on earth like a genuine, bona fide, electrified, six-car Monorail!", 961 975 ); … … 979 993 980 994 public function test_create_comment_other_user() { 981 wp_set_current_user( $this->admin_id );982 983 $params = array( 984 'post' => $this->post_id,995 wp_set_current_user( self::$admin_id ); 996 997 $params = array( 998 'post' => self::$post_id, 985 999 'author_name' => 'Homer Jay Simpson', 986 1000 'author_email' => 'chunkylover53@aol.com', 987 1001 'author_url' => 'http://compuglobalhypermeganet.com', 988 1002 'content' => 'Here\’s to alcohol: the cause of, and solution to, all of life\’s problems.', 989 'author' => $this->subscriber_id,1003 'author' => self::$subscriber_id, 990 1004 ); 991 1005 … … 997 1011 $this->assertEquals( 201, $response->get_status() ); 998 1012 $data = $response->get_data(); 999 $this->assertEquals( $this->subscriber_id, $data['author'] );1013 $this->assertEquals( self::$subscriber_id, $data['author'] ); 1000 1014 $this->assertEquals( 'Homer Jay Simpson', $data['author_name'] ); 1001 1015 $this->assertEquals( 'chunkylover53@aol.com', $data['author_email'] ); … … 1004 1018 1005 1019 public function test_create_comment_other_user_without_permission() { 1006 wp_set_current_user( $this->subscriber_id );1007 1008 $params = array( 1009 'post' => $this->post_id,1020 wp_set_current_user( self::$subscriber_id ); 1021 1022 $params = array( 1023 'post' => self::$post_id, 1010 1024 'author_name' => 'Homer Jay Simpson', 1011 1025 'author_email' => 'chunkylover53@aol.com', 1012 1026 'author_url' => 'http://compuglobalhypermeganet.com', 1013 1027 'content' => 'Here\’s to alcohol: the cause of, and solution to, all of life\’s problems.', 1014 'author' => $this->admin_id,1028 'author' => self::$admin_id, 1015 1029 ); 1016 1030 … … 1024 1038 1025 1039 public function test_create_comment_karma_without_permission() { 1026 wp_set_current_user( $this->subscriber_id );1027 1028 $params = array( 1029 'post' => $this->post_id,1040 wp_set_current_user( self::$subscriber_id ); 1041 1042 $params = array( 1043 'post' => self::$post_id, 1030 1044 'author_name' => 'Homer Jay Simpson', 1031 1045 'author_email' => 'chunkylover53@aol.com', 1032 1046 'author_url' => 'http://compuglobalhypermeganet.com', 1033 1047 'content' => 'Here\’s to alcohol: the cause of, and solution to, all of life\’s problems.', 1034 'author' => $this->subscriber_id,1048 'author' => self::$subscriber_id, 1035 1049 'karma' => 100, 1036 1050 ); … … 1045 1059 1046 1060 public function test_create_comment_status_without_permission() { 1047 wp_set_current_user( $this->subscriber_id );1048 1049 $params = array( 1050 'post' => $this->post_id,1061 wp_set_current_user( self::$subscriber_id ); 1062 1063 $params = array( 1064 'post' => self::$post_id, 1051 1065 'author_name' => 'Homer Jay Simpson', 1052 1066 'author_email' => 'chunkylover53@aol.com', 1053 1067 'author_url' => 'http://compuglobalhypermeganet.com', 1054 1068 'content' => 'Here\’s to alcohol: the cause of, and solution to, all of life\’s problems.', 1055 'author' => $this->subscriber_id,1069 'author' => self::$subscriber_id, 1056 1070 'status' => 'approved', 1057 1071 ); … … 1067 1081 public function test_create_comment_with_status_IP_and_user_agent() { 1068 1082 $post_id = $this->factory->post->create(); 1069 wp_set_current_user( $this->admin_id );1083 wp_set_current_user( self::$admin_id ); 1070 1084 1071 1085 $params = array( … … 1094 1108 1095 1109 public function test_create_comment_invalid_author_IP() { 1096 wp_set_current_user( $this->admin_id );1110 wp_set_current_user( self::$admin_id ); 1097 1111 1098 1112 $params = array( … … 1114 1128 1115 1129 public function test_create_comment_no_post_id() { 1116 wp_set_current_user( $this->admin_id );1130 wp_set_current_user( self::$admin_id ); 1117 1131 1118 1132 $params = array( … … 1132 1146 1133 1147 public function test_create_comment_no_post_id_no_permission() { 1134 wp_set_current_user( $this->subscriber_id );1148 wp_set_current_user( self::$subscriber_id ); 1135 1149 1136 1150 $params = array( … … 1139 1153 'author_url' => 'http://compuglobalhypermeganet.com', 1140 1154 'content' => 'Here\’s to alcohol: the cause of, and solution to, all of life\’s problems.', 1141 'author' => $this->subscriber_id,1155 'author' => self::$subscriber_id, 1142 1156 ); 1143 1157 $request = new WP_REST_Request( 'POST', '/wp/v2/comments' ); … … 1151 1165 1152 1166 public function test_create_comment_draft_post() { 1153 wp_set_current_user( $this->subscriber_id );1154 1155 $params = array( 1156 'post' => $this->draft_id,1167 wp_set_current_user( self::$subscriber_id ); 1168 1169 $params = array( 1170 'post' => self::$draft_id, 1157 1171 'author_name' => 'Ishmael', 1158 1172 'author_email' => 'herman-melville@earthlink.net', 1159 1173 'author_url' => 'https://en.wikipedia.org/wiki/Herman_Melville', 1160 1174 'content' => 'Call me Ishmael.', 1161 'author' => $this->subscriber_id,1175 'author' => self::$subscriber_id, 1162 1176 ); 1163 1177 $request = new WP_REST_Request( 'POST', '/wp/v2/comments' ); … … 1171 1185 1172 1186 public function test_create_comment_trash_post() { 1173 wp_set_current_user( $this->subscriber_id );1174 1175 $params = array( 1176 'post' => $this->trash_id,1187 wp_set_current_user( self::$subscriber_id ); 1188 1189 $params = array( 1190 'post' => self::$trash_id, 1177 1191 'author_name' => 'Ishmael', 1178 1192 'author_email' => 'herman-melville@earthlink.net', 1179 1193 'author_url' => 'https://en.wikipedia.org/wiki/Herman_Melville', 1180 1194 'content' => 'Call me Ishmael.', 1181 'author' => $this->subscriber_id,1195 'author' => self::$subscriber_id, 1182 1196 ); 1183 1197 $request = new WP_REST_Request( 'POST', '/wp/v2/comments' ); … … 1191 1205 1192 1206 public function test_create_comment_private_post_invalid_permission() { 1193 wp_set_current_user( $this->subscriber_id );1194 1195 $params = array( 1196 'post' => $this->private_id,1207 wp_set_current_user( self::$subscriber_id ); 1208 1209 $params = array( 1210 'post' => self::$private_id, 1197 1211 'author_name' => 'Homer Jay Simpson', 1198 1212 'author_email' => 'chunkylover53@aol.com', 1199 1213 'author_url' => 'http://compuglobalhypermeganet.com', 1200 1214 'content' => 'I\’d be a vegetarian if bacon grew on trees.', 1201 'author' => $this->subscriber_id,1215 'author' => self::$subscriber_id, 1202 1216 ); 1203 1217 $request = new WP_REST_Request( 'POST', '/wp/v2/comments' ); … … 1213 1227 $this->factory->comment->create( 1214 1228 array( 1215 'comment_post_ID' => $this->post_id,1229 'comment_post_ID' => self::$post_id, 1216 1230 'comment_author' => 'Guy N. Cognito', 1217 1231 'comment_author_email' => 'chunkylover53@aol.co.uk', … … 1222 1236 1223 1237 $params = array( 1224 'post' => $this->post_id,1238 'post' => self::$post_id, 1225 1239 'author_name' => 'Guy N. Cognito', 1226 1240 'author_email' => 'chunkylover53@aol.co.uk', … … 1258 1272 update_option( 'comment_registration', 1 ); 1259 1273 $request = new WP_REST_Request( 'POST', '/wp/v2/comments' ); 1260 $request->set_param( 'post', $this->post_id );1274 $request->set_param( 'post', self::$post_id ); 1261 1275 $response = $this->server->dispatch( $request ); 1262 1276 $this->assertEquals( 401, $response->get_status() ); … … 1266 1280 1267 1281 public function test_create_item_invalid_author() { 1268 wp_set_current_user( $this->admin_id );1269 1270 $params = array( 1271 'post' => $this->post_id,1282 wp_set_current_user( self::$admin_id ); 1283 1284 $params = array( 1285 'post' => self::$post_id, 1272 1286 'author' => REST_TESTS_IMPOSSIBLY_HIGH_NUMBER, 1273 1287 'content' => 'It\'s all over\, people! We don\'t have a prayer!', … … 1283 1297 1284 1298 public function test_create_item_pull_author_info() { 1285 wp_set_current_user( $this->admin_id );1286 1287 $author = new WP_User( $this->author_id );1288 $params = array( 1289 'post' => $this->post_id,1290 'author' => $this->author_id,1299 wp_set_current_user( self::$admin_id ); 1300 1301 $author = new WP_User( self::$author_id ); 1302 $params = array( 1303 'post' => self::$post_id, 1304 'author' => self::$author_id, 1291 1305 'content' => 'It\'s all over\, people! We don\'t have a prayer!', 1292 1306 ); … … 1299 1313 1300 1314 $result = $response->get_data(); 1301 $this->assertSame( $this->author_id, $result['author'] );1315 $this->assertSame( self::$author_id, $result['author'] ); 1302 1316 $this->assertSame( 'Sea Captain', $result['author_name'] ); 1303 1317 $this->assertSame( 'captain@thefryingdutchman.com', $result['author_email'] ); … … 1309 1323 1310 1324 $params = array( 1311 'post' => $this->post_id,1325 'post' => self::$post_id, 1312 1326 'author_name' => 'Comic Book Guy', 1313 1327 'author_email' => 'cbg@androidsdungeon.com', … … 1324 1338 1325 1339 $params = array( 1326 'post' => $this->post_id,1340 'post' => self::$post_id, 1327 1341 'author_name' => 'Comic Book Guy', 1328 1342 'author_email' => 'cbg@androidsdungeon.com', … … 1342 1356 $post_id = $this->factory->post->create(); 1343 1357 1344 wp_set_current_user( $this->admin_id );1345 1346 $params = array( 1347 'author' => $this->subscriber_id,1358 wp_set_current_user( self::$admin_id ); 1359 1360 $params = array( 1361 'author' => self::$subscriber_id, 1348 1362 'author_name' => 'Disco Stu', 1349 1363 'author_url' => 'http://stusdisco.com', … … 1355 1369 'post' => $post_id, 1356 1370 ); 1357 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/comments/%d', $this->approved_id ) );1371 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/comments/%d', self::$approved_id ) ); 1358 1372 $request->add_header( 'content-type', 'application/json' ); 1359 1373 $request->set_body( wp_json_encode( $params ) ); … … 1363 1377 1364 1378 $comment = $response->get_data(); 1365 $updated = get_comment( $this->approved_id );1379 $updated = get_comment( self::$approved_id ); 1366 1380 $this->assertEquals( $params['content'], $comment['content']['raw'] ); 1367 1381 $this->assertEquals( $params['author'], $comment['author'] ); … … 1378 1392 1379 1393 public function test_update_comment_status() { 1380 wp_set_current_user( $this->admin_id );1394 wp_set_current_user( self::$admin_id ); 1381 1395 1382 1396 $comment_id = $this->factory->comment->create( array( 1383 1397 'comment_approved' => 0, 1384 'comment_post_ID' => $this->post_id,1398 'comment_post_ID' => self::$post_id, 1385 1399 )); 1386 1400 … … 1402 1416 1403 1417 public function test_update_comment_field_does_not_use_default_values() { 1404 wp_set_current_user( $this->admin_id );1418 wp_set_current_user( self::$admin_id ); 1405 1419 1406 1420 $comment_id = $this->factory->comment->create( array( 1407 1421 'comment_approved' => 0, 1408 'comment_post_ID' => $this->post_id,1422 'comment_post_ID' => self::$post_id, 1409 1423 'comment_content' => 'some content', 1410 1424 )); … … 1428 1442 1429 1443 public function test_update_comment_date_gmt() { 1430 wp_set_current_user( $this->admin_id );1444 wp_set_current_user( self::$admin_id ); 1431 1445 1432 1446 $params = array( … … 1434 1448 'content' => 'I\'ll be deep in the cold, cold ground before I recognize Missouri.', 1435 1449 ); 1436 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/comments/%d', $this->approved_id ) );1450 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/comments/%d', self::$approved_id ) ); 1437 1451 $request->add_header( 'content-type', 'application/json' ); 1438 1452 $request->set_body( wp_json_encode( $params ) ); … … 1442 1456 1443 1457 $comment = $response->get_data(); 1444 $updated = get_comment( $this->approved_id );1458 $updated = get_comment( self::$approved_id ); 1445 1459 $this->assertEquals( $params['date_gmt'], $comment['date_gmt'] ); 1446 1460 $this->assertEquals( $params['date_gmt'], mysql_to_rfc3339( $updated->comment_date_gmt ) ); … … 1448 1462 1449 1463 public function test_update_comment_invalid_type() { 1450 wp_set_current_user( $this->admin_id );1464 wp_set_current_user( self::$admin_id ); 1451 1465 1452 1466 $params = array( 1453 1467 'type' => 'trackback', 1454 1468 ); 1455 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/comments/%d', $this->approved_id ) );1469 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/comments/%d', self::$approved_id ) ); 1456 1470 $request->add_header( 'content-type', 'application/json' ); 1457 1471 $request->set_body( wp_json_encode( $params ) ); … … 1462 1476 1463 1477 public function test_update_comment_with_raw_property() { 1464 wp_set_current_user( $this->admin_id );1478 wp_set_current_user( self::$admin_id ); 1465 1479 1466 1480 $params = array( … … 1469 1483 ), 1470 1484 ); 1471 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/comments/%d', $this->approved_id ) );1485 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/comments/%d', self::$approved_id ) ); 1472 1486 $request->add_header( 'content-type', 'application/json' ); 1473 1487 $request->set_body( wp_json_encode( $params ) ); … … 1478 1492 1479 1493 $comment = $response->get_data(); 1480 $updated = get_comment( $this->approved_id );1494 $updated = get_comment( self::$approved_id ); 1481 1495 $this->assertEquals( $params['content']['raw'], $updated->comment_content ); 1482 1496 } 1483 1497 1484 1498 public function test_update_item_invalid_date() { 1485 wp_set_current_user( $this->admin_id );1499 wp_set_current_user( self::$admin_id ); 1486 1500 1487 1501 $params = array( … … 1490 1504 ); 1491 1505 1492 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/comments/%d', $this->approved_id ) );1506 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/comments/%d', self::$approved_id ) ); 1493 1507 $request->add_header( 'content-type', 'application/json' ); 1494 1508 $request->set_body( wp_json_encode( $params ) ); … … 1499 1513 1500 1514 public function test_update_item_invalid_date_gmt() { 1501 wp_set_current_user( $this->admin_id );1515 wp_set_current_user( self::$admin_id ); 1502 1516 1503 1517 $params = array( … … 1506 1520 ); 1507 1521 1508 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/comments/%d', $this->approved_id ) );1522 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/comments/%d', self::$approved_id ) ); 1509 1523 $request->add_header( 'content-type', 'application/json' ); 1510 1524 $request->set_body( wp_json_encode( $params ) ); … … 1534 1548 'content' => 'Disco Stu likes disco music.', 1535 1549 ); 1536 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/comments/%d', $this->hold_id ) );1550 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/comments/%d', self::$hold_id ) ); 1537 1551 $request->add_header( 'content-type', 'application/json' ); 1538 1552 $request->set_body( wp_json_encode( $params ) ); … … 1545 1559 $private_comment_id = $this->factory->comment->create( array( 1546 1560 'comment_approved' => 1, 1547 'comment_post_ID' => $this->private_id,1561 'comment_post_ID' => self::$private_id, 1548 1562 'user_id' => 0, 1549 1563 )); 1550 1564 1551 wp_set_current_user( $this->subscriber_id );1565 wp_set_current_user( self::$subscriber_id ); 1552 1566 1553 1567 $params = array( … … 1563 1577 1564 1578 public function test_update_comment_with_children_link() { 1565 wp_set_current_user( $this->admin_id );1579 wp_set_current_user( self::$admin_id ); 1566 1580 $comment_id_1 = $this->factory->comment->create( array( 1567 1581 'comment_approved' => 1, 1568 'comment_post_ID' => $this->post_id,1569 'user_id' => $this->subscriber_id,1582 'comment_post_ID' => self::$post_id, 1583 'user_id' => self::$subscriber_id, 1570 1584 ) ); 1571 1585 1572 1586 $child_comment = $this->factory->comment->create( array( 1573 1587 'comment_approved' => 1, 1574 'comment_post_ID' => $this->post_id,1575 'user_id' => $this->subscriber_id,1588 'comment_post_ID' => self::$post_id, 1589 'user_id' => self::$subscriber_id, 1576 1590 ) ); 1577 1591 … … 1597 1611 1598 1612 public function test_delete_item() { 1599 wp_set_current_user( $this->admin_id );1613 wp_set_current_user( self::$admin_id ); 1600 1614 1601 1615 $comment_id = $this->factory->comment->create( array( 1602 1616 'comment_approved' => 1, 1603 'comment_post_ID' => $this->post_id,1604 'user_id' => $this->subscriber_id,1617 'comment_post_ID' => self::$post_id, 1618 'user_id' => self::$subscriber_id, 1605 1619 )); 1606 1620 $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/comments/%d', $comment_id ) ); … … 1609 1623 $this->assertEquals( 200, $response->get_status() ); 1610 1624 $data = $response->get_data(); 1611 $this->assertEquals( $this->post_id, $data['post'] );1625 $this->assertEquals( self::$post_id, $data['post'] ); 1612 1626 } 1613 1627 1614 1628 public function test_delete_item_skip_trash() { 1615 wp_set_current_user( $this->admin_id );1629 wp_set_current_user( self::$admin_id ); 1616 1630 1617 1631 $comment_id = $this->factory->comment->create( array( 1618 1632 'comment_approved' => 1, 1619 'comment_post_ID' => $this->post_id,1620 'user_id' => $this->subscriber_id,1633 'comment_post_ID' => self::$post_id, 1634 'user_id' => self::$subscriber_id, 1621 1635 )); 1622 1636 $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/comments/%d', $comment_id ) ); … … 1626 1640 $this->assertEquals( 200, $response->get_status() ); 1627 1641 $data = $response->get_data(); 1628 $this->assertEquals( $this->post_id, $data['post'] );1642 $this->assertEquals( self::$post_id, $data['post'] ); 1629 1643 } 1630 1644 1631 1645 public function test_delete_item_already_trashed() { 1632 wp_set_current_user( $this->admin_id );1646 wp_set_current_user( self::$admin_id ); 1633 1647 1634 1648 $comment_id = $this->factory->comment->create( array( 1635 1649 'comment_approved' => 1, 1636 'comment_post_ID' => $this->post_id,1637 'user_id' => $this->subscriber_id,1650 'comment_post_ID' => self::$post_id, 1651 'user_id' => self::$subscriber_id, 1638 1652 )); 1639 1653 $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/comments/%d', $comment_id ) ); … … 1646 1660 1647 1661 public function test_delete_comment_invalid_id() { 1648 wp_set_current_user( $this->admin_id );1662 wp_set_current_user( self::$admin_id ); 1649 1663 1650 1664 $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/comments/%d', REST_TESTS_IMPOSSIBLY_HIGH_NUMBER ) ); … … 1655 1669 1656 1670 public function test_delete_comment_without_permission() { 1657 wp_set_current_user( $this->subscriber_id );1658 1659 $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/comments/%d', $this->approved_id ) );1671 wp_set_current_user( self::$subscriber_id ); 1672 1673 $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/comments/%d', self::$approved_id ) ); 1660 1674 1661 1675 $response = $this->server->dispatch( $request ); … … 1664 1678 1665 1679 public function test_delete_child_comment_link() { 1666 wp_set_current_user( $this->admin_id );1680 wp_set_current_user( self::$admin_id ); 1667 1681 $comment_id_1 = $this->factory->comment->create( array( 1668 1682 'comment_approved' => 1, 1669 'comment_post_ID' => $this->post_id,1670 'user_id' => $this->subscriber_id,1683 'comment_post_ID' => self::$post_id, 1684 'user_id' => self::$subscriber_id, 1671 1685 ) ); 1672 1686 … … 1674 1688 'comment_approved' => 1, 1675 1689 'comment_parent' => $comment_id_1, 1676 'comment_post_ID' => $this->post_id,1677 'user_id' => $this->subscriber_id,1690 'comment_post_ID' => self::$post_id, 1691 'user_id' => self::$subscriber_id, 1678 1692 ) ); 1679 1693 … … 1748 1762 $this->assertEquals( $schema, $data['schema']['properties']['my_custom_int'] ); 1749 1763 1750 $request = new WP_REST_Request( 'GET', '/wp/v2/comments/' . $this->approved_id );1764 $request = new WP_REST_Request( 'GET', '/wp/v2/comments/' . self::$approved_id ); 1751 1765 1752 1766 $response = $this->server->dispatch( $request ); 1753 1767 $this->assertArrayHasKey( 'my_custom_int', $response->data ); 1754 1768 1755 $request = new WP_REST_Request( 'POST', '/wp/v2/comments/' . $this->approved_id );1769 $request = new WP_REST_Request( 'POST', '/wp/v2/comments/' . self::$approved_id ); 1756 1770 $request->set_body_params(array( 1757 1771 'my_custom_int' => 123, … … 1761 1775 wp_set_current_user( 1 ); 1762 1776 $this->server->dispatch( $request ); 1763 $this->assertEquals( 123, get_comment_meta( $this->approved_id, 'my_custom_int', true ) );1777 $this->assertEquals( 123, get_comment_meta( self::$approved_id, 'my_custom_int', true ) ); 1764 1778 1765 1779 $request = new WP_REST_Request( 'POST', '/wp/v2/comments' ); … … 1768 1782 'title' => 'hello', 1769 1783 'content' => 'goodbye', 1770 'post' => $this->post_id,1784 'post' => self::$post_id, 1771 1785 )); 1772 1786 … … 1793 1807 ) ); 1794 1808 1795 wp_set_current_user( $this->admin_id );1809 wp_set_current_user( self::$admin_id ); 1796 1810 1797 1811 // Check for error on update. 1798 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/comments/%d', $this->approved_id ) );1812 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/comments/%d', self::$approved_id ) ); 1799 1813 $request->set_body_params(array( 1800 1814 'my_custom_int' => 'returnError', -
trunk/tests/phpunit/tests/rest-api/rest-pages-controller.php
r38968 r38975 12 12 */ 13 13 class WP_Test_REST_Pages_Controller extends WP_Test_REST_Post_Type_Controller_Testcase { 14 protected static $editor_id; 15 16 public static function wpSetUpBeforeClass( $factory ) { 17 self::$editor_id = $factory->user->create( array( 18 'role' => 'editor', 19 ) ); 20 } 21 22 public static function wpTearDownAfterClass() { 23 self::delete_user( self::$editor_id ); 24 } 14 25 15 26 public function setUp() { 16 27 parent::setUp(); 17 18 $this->editor_id = $this->factory->user->create( array(19 'role' => 'editor',20 ) );21 $this->author_id = $this->factory->user->create( array(22 'role' => 'author',23 ) );24 25 28 $this->has_setup_template = false; 26 29 add_filter( 'theme_page_templates', array( $this, 'filter_theme_page_templates' ) ); … … 184 187 185 188 // But they are accessible to authorized users 186 wp_set_current_user( $this->editor_id );189 wp_set_current_user( self::$editor_id ); 187 190 $response = $this->server->dispatch( $request ); 188 191 $data = $response->get_data(); … … 228 231 229 232 public function test_create_item_with_template() { 230 wp_set_current_user( $this->editor_id );233 wp_set_current_user( self::$editor_id ); 231 234 232 235 $request = new WP_REST_Request( 'POST', '/wp/v2/pages' ); … … 247 250 'type' => 'page', 248 251 ) ); 249 wp_set_current_user( $this->editor_id );252 wp_set_current_user( self::$editor_id ); 250 253 251 254 $request = new WP_REST_Request( 'POST', '/wp/v2/pages' ); … … 268 271 269 272 public function test_create_page_with_invalid_parent() { 270 wp_set_current_user( $this->editor_id );273 wp_set_current_user( self::$editor_id ); 271 274 272 275 $request = new WP_REST_Request( 'POST', '/wp/v2/pages' ); … … 323 326 ) ); 324 327 325 wp_set_current_user( $this->editor_id );328 wp_set_current_user( self::$editor_id ); 326 329 327 330 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/pages/%d', $page_id ) ); … … 343 346 ) ); 344 347 345 wp_set_current_user( $this->editor_id );348 wp_set_current_user( self::$editor_id ); 346 349 347 350 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/pages/%d', $page_id ) ); -
trunk/tests/phpunit/tests/rest-api/rest-post-meta-fields.php
r38832 r38975 11 11 */ 12 12 class WP_Test_REST_Post_Meta_Fields extends WP_Test_REST_TestCase { 13 protected static $post_id; 14 15 public static function wpSetUpBeforeClass( $factory ) { 16 self::$post_id = $factory->post->create(); 17 } 18 19 public static function wpTearDownAfterClass() { 20 wp_delete_post( self::$post_id, true ); 21 } 22 13 23 public function setUp() { 14 24 parent::setUp(); … … 55 65 $this->server = $wp_rest_server = new Spy_REST_Server; 56 66 do_action( 'rest_api_init' ); 57 58 $this->post_id = $this->factory->post->create();59 67 } 60 68 … … 68 76 69 77 public function test_get_value() { 70 add_post_meta( $this->post_id, 'test_single', 'testvalue' );71 72 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', $this->post_id ) );78 add_post_meta( self::$post_id, 'test_single', 'testvalue' ); 79 80 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 73 81 $response = $this->server->dispatch( $request ); 74 82 … … 87 95 */ 88 96 public function test_get_multi_value() { 89 add_post_meta( $this->post_id, 'test_multi', 'value1' );90 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', $this->post_id ) );97 add_post_meta( self::$post_id, 'test_multi', 'value1' ); 98 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 91 99 92 100 $response = $this->server->dispatch( $request ); … … 100 108 101 109 // Check after an update. 102 add_post_meta( $this->post_id, 'test_multi', 'value2' );110 add_post_meta( self::$post_id, 'test_multi', 'value2' ); 103 111 104 112 $response = $this->server->dispatch( $request ); … … 114 122 */ 115 123 public function test_get_unregistered() { 116 add_post_meta( $this->post_id, 'test_unregistered', 'value1' );117 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', $this->post_id ) );124 add_post_meta( self::$post_id, 'test_unregistered', 'value1' ); 125 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 118 126 119 127 $response = $this->server->dispatch( $request ); … … 129 137 */ 130 138 public function test_get_registered_no_api_access() { 131 add_post_meta( $this->post_id, 'test_no_rest', 'for_the_wicked' );132 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', $this->post_id ) );139 add_post_meta( self::$post_id, 'test_no_rest', 'for_the_wicked' ); 140 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 133 141 134 142 $response = $this->server->dispatch( $request ); … … 144 152 */ 145 153 public function test_get_registered_api_disabled() { 146 add_post_meta( $this->post_id, 'test_rest_disabled', 'sleepless_nights' );147 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', $this->post_id ) );154 add_post_meta( self::$post_id, 'test_rest_disabled', 'sleepless_nights' ); 155 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 148 156 149 157 $response = $this->server->dispatch( $request ); … … 177 185 do_action( 'rest_api_init' ); 178 186 179 add_post_meta( $this->post_id, 'test_string', 42 );180 add_post_meta( $this->post_id, 'test_number', '42' );181 add_post_meta( $this->post_id, 'test_bool', 1 );182 183 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', $this->post_id ) );187 add_post_meta( self::$post_id, 'test_string', 42 ); 188 add_post_meta( self::$post_id, 'test_number', '42' ); 189 add_post_meta( self::$post_id, 'test_bool', 1 ); 190 191 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 184 192 $response = $this->server->dispatch( $request ); 185 193 $this->assertEquals( 200, $response->get_status() ); … … 206 214 public function test_set_value() { 207 215 // Ensure no data exists currently. 208 $values = get_post_meta( $this->post_id, 'test_single', false );216 $values = get_post_meta( self::$post_id, 'test_single', false ); 209 217 $this->assertEmpty( $values ); 210 218 … … 216 224 ), 217 225 ); 218 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );219 $request->set_body_params( $data ); 220 221 $response = $this->server->dispatch( $request ); 222 $this->assertEquals( 200, $response->get_status() ); 223 224 $meta = get_post_meta( $this->post_id, 'test_single', false );226 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 227 $request->set_body_params( $data ); 228 229 $response = $this->server->dispatch( $request ); 230 $this->assertEquals( 200, $response->get_status() ); 231 232 $meta = get_post_meta( self::$post_id, 'test_single', false ); 225 233 $this->assertNotEmpty( $meta ); 226 234 $this->assertCount( 1, $meta ); … … 238 246 public function test_set_duplicate_single_value() { 239 247 // Start with an existing metakey and value. 240 $values = update_post_meta( $this->post_id, 'test_single', 'test_value' );241 $this->assertEquals( 'test_value', get_post_meta( $this->post_id, 'test_single', true ) );248 $values = update_post_meta( self::$post_id, 'test_single', 'test_value' ); 249 $this->assertEquals( 'test_value', get_post_meta( self::$post_id, 'test_single', true ) ); 242 250 243 251 $this->grant_write_permission(); … … 248 256 ), 249 257 ); 250 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );251 $request->set_body_params( $data ); 252 253 $response = $this->server->dispatch( $request ); 254 $this->assertEquals( 200, $response->get_status() ); 255 256 $meta = get_post_meta( $this->post_id, 'test_single', true );258 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 259 $request->set_body_params( $data ); 260 261 $response = $this->server->dispatch( $request ); 262 $this->assertEquals( 200, $response->get_status() ); 263 264 $meta = get_post_meta( self::$post_id, 'test_single', true ); 257 265 $this->assertNotEmpty( $meta ); 258 266 $this->assertEquals( 'test_value', $meta ); … … 276 284 wp_set_current_user( 0 ); 277 285 278 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );286 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 279 287 $request->set_body_params( $data ); 280 288 … … 283 291 284 292 // Check that the value wasn't actually updated. 285 $this->assertEmpty( get_post_meta( $this->post_id, 'test_single', false ) );293 $this->assertEmpty( get_post_meta( self::$post_id, 'test_single', false ) ); 286 294 } 287 295 … … 298 306 $this->grant_write_permission(); 299 307 300 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );308 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 301 309 $request->set_body_params( $data ); 302 310 303 311 $response = $this->server->dispatch( $request ); 304 312 $this->assertErrorResponse( 'rest_cannot_update', $response, 403 ); 305 $this->assertEmpty( get_post_meta( $this->post_id, 'test_bad_auth', false ) );313 $this->assertEmpty( get_post_meta( self::$post_id, 'test_bad_auth', false ) ); 306 314 } 307 315 … … 318 326 $this->grant_write_permission(); 319 327 320 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );328 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 321 329 $request->set_body_params( $data ); 322 330 … … 336 344 public function test_set_value_multiple() { 337 345 // Ensure no data exists currently. 338 $values = get_post_meta( $this->post_id, 'test_multi', false );346 $values = get_post_meta( self::$post_id, 'test_multi', false ); 339 347 $this->assertEmpty( $values ); 340 348 … … 346 354 ), 347 355 ); 348 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );349 $request->set_body_params( $data ); 350 351 $response = $this->server->dispatch( $request ); 352 $this->assertEquals( 200, $response->get_status() ); 353 354 $meta = get_post_meta( $this->post_id, 'test_multi', false );356 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 357 $request->set_body_params( $data ); 358 359 $response = $this->server->dispatch( $request ); 360 $this->assertEquals( 200, $response->get_status() ); 361 362 $meta = get_post_meta( self::$post_id, 'test_multi', false ); 355 363 $this->assertNotEmpty( $meta ); 356 364 $this->assertCount( 1, $meta ); … … 368 376 $this->assertEquals( 200, $response->get_status() ); 369 377 370 $meta = get_post_meta( $this->post_id, 'test_multi', false );378 $meta = get_post_meta( self::$post_id, 'test_multi', false ); 371 379 $this->assertNotEmpty( $meta ); 372 380 $this->assertCount( 2, $meta ); … … 379 387 */ 380 388 public function test_set_value_remove_one() { 381 add_post_meta( $this->post_id, 'test_multi', 'c' );382 add_post_meta( $this->post_id, 'test_multi', 'n' );383 add_post_meta( $this->post_id, 'test_multi', 'n' );389 add_post_meta( self::$post_id, 'test_multi', 'c' ); 390 add_post_meta( self::$post_id, 'test_multi', 'n' ); 391 add_post_meta( self::$post_id, 'test_multi', 'n' ); 384 392 385 393 $this->grant_write_permission(); … … 390 398 ), 391 399 ); 392 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );393 $request->set_body_params( $data ); 394 395 $response = $this->server->dispatch( $request ); 396 $this->assertEquals( 200, $response->get_status() ); 397 398 $meta = get_post_meta( $this->post_id, 'test_multi', false );400 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 401 $request->set_body_params( $data ); 402 403 $response = $this->server->dispatch( $request ); 404 $this->assertEquals( 200, $response->get_status() ); 405 406 $meta = get_post_meta( self::$post_id, 'test_multi', false ); 399 407 $this->assertNotEmpty( $meta ); 400 408 $this->assertCount( 2, $meta ); … … 408 416 public function test_set_value_multiple_unauthenticated() { 409 417 // Ensure no data exists currently. 410 $values = get_post_meta( $this->post_id, 'test_multi', false );418 $values = get_post_meta( self::$post_id, 'test_multi', false ); 411 419 $this->assertEmpty( $values ); 412 420 … … 418 426 ), 419 427 ); 420 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );428 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 421 429 $request->set_body_params( $data ); 422 430 … … 424 432 $this->assertErrorResponse( 'rest_cannot_edit', $response, 401 ); 425 433 426 $meta = get_post_meta( $this->post_id, 'test_multi', false );434 $meta = get_post_meta( self::$post_id, 'test_multi', false ); 427 435 $this->assertEmpty( $meta ); 428 436 } … … 440 448 $this->grant_write_permission(); 441 449 442 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );450 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 443 451 $request->set_body_params( $data ); 444 452 445 453 $response = $this->server->dispatch( $request ); 446 454 $this->assertErrorResponse( 'rest_cannot_update', $response, 403 ); 447 $this->assertEmpty( get_post_meta( $this->post_id, 'test_bad_auth_multi', false ) );455 $this->assertEmpty( get_post_meta( self::$post_id, 'test_bad_auth_multi', false ) ); 448 456 } 449 457 450 458 public function test_add_multi_value_db_error() { 451 459 // Ensure no data exists currently. 452 $values = get_post_meta( $this->post_id, 'test_multi', false );460 $values = get_post_meta( self::$post_id, 'test_multi', false ); 453 461 $this->assertEmpty( $values ); 454 462 … … 460 468 ), 461 469 ); 462 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );470 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 463 471 $request->set_body_params( $data ); 464 472 … … 479 487 480 488 public function test_remove_multi_value_db_error() { 481 add_post_meta( $this->post_id, 'test_multi', 'val1' );482 $values = get_post_meta( $this->post_id, 'test_multi', false );489 add_post_meta( self::$post_id, 'test_multi', 'val1' ); 490 $values = get_post_meta( self::$post_id, 'test_multi', false ); 483 491 $this->assertEquals( array( 'val1' ), $values ); 484 492 … … 490 498 ), 491 499 ); 492 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );500 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 493 501 $request->set_body_params( $data ); 494 502 … … 509 517 510 518 public function test_delete_value() { 511 add_post_meta( $this->post_id, 'test_single', 'val1' );512 $current = get_post_meta( $this->post_id, 'test_single', true );519 add_post_meta( self::$post_id, 'test_single', 'val1' ); 520 $current = get_post_meta( self::$post_id, 'test_single', true ); 513 521 $this->assertEquals( 'val1', $current ); 514 522 … … 520 528 ), 521 529 ); 522 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );523 $request->set_body_params( $data ); 524 525 $response = $this->server->dispatch( $request ); 526 $this->assertEquals( 200, $response->get_status() ); 527 528 $meta = get_post_meta( $this->post_id, 'test_single', false );530 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 531 $request->set_body_params( $data ); 532 533 $response = $this->server->dispatch( $request ); 534 $this->assertEquals( 200, $response->get_status() ); 535 536 $meta = get_post_meta( self::$post_id, 'test_single', false ); 529 537 $this->assertEmpty( $meta ); 530 538 } … … 534 542 */ 535 543 public function test_delete_value_blocked() { 536 add_post_meta( $this->post_id, 'test_bad_auth', 'val1' );537 $current = get_post_meta( $this->post_id, 'test_bad_auth', true );544 add_post_meta( self::$post_id, 'test_bad_auth', 'val1' ); 545 $current = get_post_meta( self::$post_id, 'test_bad_auth', true ); 538 546 $this->assertEquals( 'val1', $current ); 539 547 … … 545 553 ), 546 554 ); 547 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );555 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 548 556 $request->set_body_params( $data ); 549 557 … … 551 559 $this->assertErrorResponse( 'rest_cannot_delete', $response, 403 ); 552 560 553 $meta = get_post_meta( $this->post_id, 'test_bad_auth', true );561 $meta = get_post_meta( self::$post_id, 'test_bad_auth', true ); 554 562 $this->assertEquals( 'val1', $meta ); 555 563 } … … 559 567 */ 560 568 public function test_delete_value_db_error() { 561 add_post_meta( $this->post_id, 'test_single', 'val1' );562 $current = get_post_meta( $this->post_id, 'test_single', true );569 add_post_meta( self::$post_id, 'test_single', 'val1' ); 570 $current = get_post_meta( self::$post_id, 'test_single', true ); 563 571 $this->assertEquals( 'val1', $current ); 564 572 … … 570 578 ), 571 579 ); 572 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', $this->post_id ) );580 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 573 581 $request->set_body_params( $data ); 574 582 /** … … 588 596 589 597 public function test_get_schema() { 590 $request = new WP_REST_Request( 'OPTIONS', sprintf( '/wp/v2/posts/%d', $this->post_id ) );598 $request = new WP_REST_Request( 'OPTIONS', sprintf( '/wp/v2/posts/%d', self::$post_id ) ); 591 599 $response = $this->server->dispatch( $request ); 592 600 -
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', -
trunk/tests/phpunit/tests/rest-api/rest-revisions-controller.php
r38832 r38975 11 11 */ 12 12 class WP_Test_REST_Revisions_Controller extends WP_Test_REST_Controller_Testcase { 13 protected static $post_id; 14 protected static $page_id; 15 16 protected static $editor_id; 17 protected static $contributor_id; 18 19 public static function wpSetUpBeforeClass( $factory ) { 20 self::$post_id = $factory->post->create(); 21 self::$page_id = $factory->post->create( array( 'post_type' => 'page' ) ); 22 23 self::$editor_id = $factory->user->create( array( 24 'role' => 'editor', 25 ) ); 26 self::$contributor_id = $factory->user->create( array( 27 'role' => 'contributor', 28 ) ); 29 30 wp_update_post( array( 'post_content' => 'This content is better.', 'ID' => self::$post_id ) ); 31 wp_update_post( array( 'post_content' => 'This content is marvelous.', 'ID' => self::$post_id ) ); 32 } 33 34 public static function wpTearDownAfterClass() { 35 // Also deletes revisions. 36 wp_delete_post( self::$post_id, true ); 37 wp_delete_post( self::$page_id, true ); 38 39 self::delete_user( self::$editor_id ); 40 self::delete_user( self::$contributor_id ); 41 } 13 42 14 43 public function setUp() { 15 44 parent::setUp(); 16 $this->post_id = $this->factory->post->create(); 17 $this->page_id = $this->factory->post->create( array( 'post_type' => 'page' ) ); 18 19 $this->editor_id = $this->factory->user->create( array( 20 'role' => 'editor', 21 ) ); 22 $this->contributor_id = $this->factory->user->create( array( 23 'role' => 'contributor', 24 ) ); 25 26 wp_update_post( array( 'post_content' => 'This content is better.', 'ID' => $this->post_id ) ); 27 wp_update_post( array( 'post_content' => 'This content is marvelous.', 'ID' => $this->post_id ) ); 28 $revisions = wp_get_post_revisions( $this->post_id ); 45 46 $revisions = wp_get_post_revisions( self::$post_id ); 29 47 $this->revision_1 = array_pop( $revisions ); 30 48 $this->revision_id1 = $this->revision_1->ID; … … 43 61 public function test_context_param() { 44 62 // Collection 45 $request = new WP_REST_Request( 'OPTIONS', '/wp/v2/posts/' . $this->post_id . '/revisions' );63 $request = new WP_REST_Request( 'OPTIONS', '/wp/v2/posts/' . self::$post_id . '/revisions' ); 46 64 $response = $this->server->dispatch( $request ); 47 65 $data = $response->get_data(); … … 49 67 $this->assertEqualSets( array( 'view', 'edit', 'embed' ), $data['endpoints'][0]['args']['context']['enum'] ); 50 68 // Single 51 $request = new WP_REST_Request( 'OPTIONS', '/wp/v2/posts/' . $this->post_id . '/revisions/' . $this->revision_1->ID );69 $request = new WP_REST_Request( 'OPTIONS', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_1->ID ); 52 70 $response = $this->server->dispatch( $request ); 53 71 $data = $response->get_data(); … … 57 75 58 76 public function test_get_items() { 59 wp_set_current_user( $this->editor_id );60 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . $this->post_id . '/revisions' );77 wp_set_current_user( self::$editor_id ); 78 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions' ); 61 79 $response = $this->server->dispatch( $request ); 62 80 $data = $response->get_data(); … … 74 92 public function test_get_items_no_permission() { 75 93 wp_set_current_user( 0 ); 76 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . $this->post_id . '/revisions' );94 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions' ); 77 95 $response = $this->server->dispatch( $request ); 78 96 79 97 $this->assertErrorResponse( 'rest_cannot_read', $response, 401 ); 80 wp_set_current_user( $this->contributor_id );98 wp_set_current_user( self::$contributor_id ); 81 99 $response = $this->server->dispatch( $request ); 82 100 $this->assertErrorResponse( 'rest_cannot_read', $response, 403 ); … … 84 102 85 103 public function test_get_items_missing_parent() { 86 wp_set_current_user( $this->editor_id );104 wp_set_current_user( self::$editor_id ); 87 105 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER . '/revisions' ); 88 106 $response = $this->server->dispatch( $request ); … … 91 109 92 110 public function test_get_items_invalid_parent_post_type() { 93 wp_set_current_user( $this->editor_id );94 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . $this->page_id . '/revisions' );111 wp_set_current_user( self::$editor_id ); 112 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$page_id . '/revisions' ); 95 113 $response = $this->server->dispatch( $request ); 96 114 $this->assertErrorResponse( 'rest_post_invalid_parent', $response, 404 ); … … 98 116 99 117 public function test_get_item() { 100 wp_set_current_user( $this->editor_id );101 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . $this->post_id . '/revisions/' . $this->revision_id1 );118 wp_set_current_user( self::$editor_id ); 119 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 ); 102 120 $response = $this->server->dispatch( $request ); 103 121 $this->assertEquals( 200, $response->get_status() ); … … 122 140 123 141 public function test_get_item_embed_context() { 124 wp_set_current_user( $this->editor_id );125 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . $this->post_id . '/revisions/' . $this->revision_id1 );142 wp_set_current_user( self::$editor_id ); 143 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 ); 126 144 $request->set_param( 'context', 'embed' ); 127 145 $response = $this->server->dispatch( $request ); … … 141 159 public function test_get_item_no_permission() { 142 160 wp_set_current_user( 0 ); 143 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . $this->post_id . '/revisions/' . $this->revision_id1 );161 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 ); 144 162 145 163 $response = $this->server->dispatch( $request ); 146 164 $this->assertErrorResponse( 'rest_cannot_read', $response, 401 ); 147 wp_set_current_user( $this->contributor_id );165 wp_set_current_user( self::$contributor_id ); 148 166 $response = $this->server->dispatch( $request ); 149 167 $this->assertErrorResponse( 'rest_cannot_read', $response, 403 ); … … 151 169 152 170 public function test_get_item_missing_parent() { 153 wp_set_current_user( $this->editor_id );171 wp_set_current_user( self::$editor_id ); 154 172 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . REST_TESTS_IMPOSSIBLY_HIGH_NUMBER . '/revisions/' . $this->revision_id1 ); 155 173 $response = $this->server->dispatch( $request ); … … 158 176 159 177 public function test_get_item_invalid_parent_post_type() { 160 wp_set_current_user( $this->editor_id );161 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . $this->page_id . '/revisions/' . $this->revision_id1 );178 wp_set_current_user( self::$editor_id ); 179 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$page_id . '/revisions/' . $this->revision_id1 ); 162 180 $response = $this->server->dispatch( $request ); 163 181 $this->assertErrorResponse( 'rest_post_invalid_parent', $response, 404 ); … … 165 183 166 184 public function test_delete_item() { 167 wp_set_current_user( $this->editor_id );168 $request = new WP_REST_Request( 'DELETE', '/wp/v2/posts/' . $this->post_id . '/revisions/' . $this->revision_id1 );185 wp_set_current_user( self::$editor_id ); 186 $request = new WP_REST_Request( 'DELETE', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 ); 169 187 $response = $this->server->dispatch( $request ); 170 188 $this->assertEquals( 200, $response->get_status() ); … … 173 191 174 192 public function test_delete_item_no_permission() { 175 wp_set_current_user( $this->contributor_id );176 $request = new WP_REST_Request( 'DELETE', '/wp/v2/posts/' . $this->post_id . '/revisions/' . $this->revision_id1 );193 wp_set_current_user( self::$contributor_id ); 194 $request = new WP_REST_Request( 'DELETE', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 ); 177 195 $response = $this->server->dispatch( $request ); 178 196 $this->assertErrorResponse( 'rest_cannot_read', $response, 403 ); … … 180 198 181 199 public function test_prepare_item() { 182 wp_set_current_user( $this->editor_id );183 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . $this->post_id . '/revisions/' . $this->revision_id1 );200 wp_set_current_user( self::$editor_id ); 201 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 ); 184 202 $response = $this->server->dispatch( $request ); 185 203 $this->assertEquals( 200, $response->get_status() ); … … 188 206 189 207 public function test_get_item_schema() { 190 $request = new WP_REST_Request( 'OPTIONS', '/wp/v2/posts/' . $this->post_id . '/revisions' );208 $request = new WP_REST_Request( 'OPTIONS', '/wp/v2/posts/' . self::$post_id . '/revisions' ); 191 209 $response = $this->server->dispatch( $request ); 192 210 $data = $response->get_data(); … … 208 226 209 227 public function test_create_item() { 210 $request = new WP_REST_Request( 'POST', '/wp/v2/posts/' . $this->post_id . '/revisions' );228 $request = new WP_REST_Request( 'POST', '/wp/v2/posts/' . self::$post_id . '/revisions' ); 211 229 $response = $this->server->dispatch( $request ); 212 230 $this->assertErrorResponse( 'rest_no_route', $response, 404 ); … … 214 232 215 233 public function test_update_item() { 216 $request = new WP_REST_Request( 'POST', '/wp/v2/posts/' . $this->post_id . '/revisions/' . $this->revision_id1 );234 $request = new WP_REST_Request( 'POST', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 ); 217 235 $response = $this->server->dispatch( $request ); 218 236 $this->assertErrorResponse( 'rest_no_route', $response, 404 ); … … 234 252 ) ); 235 253 236 $request = new WP_REST_Request( 'OPTIONS', '/wp/v2/posts/' . $this->post_id . '/revisions' );254 $request = new WP_REST_Request( 'OPTIONS', '/wp/v2/posts/' . self::$post_id . '/revisions' ); 237 255 238 256 $response = $this->server->dispatch( $request ); … … 244 262 wp_set_current_user( 1 ); 245 263 246 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . $this->post_id . '/revisions/' . $this->revision_id1 );264 $request = new WP_REST_Request( 'GET', '/wp/v2/posts/' . self::$post_id . '/revisions/' . $this->revision_id1 ); 247 265 248 266 $response = $this->server->dispatch( $request ); -
trunk/tests/phpunit/tests/rest-api/rest-settings-controller.php
r38971 r38975 11 11 */ 12 12 class WP_Test_REST_Settings_Controller extends WP_Test_REST_Controller_Testcase { 13 protected static $administrator; 14 15 public static function wpSetUpBeforeClass( $factory ) { 16 self::$administrator = $factory->user->create( array( 17 'role' => 'administrator', 18 ) ); 19 } 20 21 public static function wpTearDownAfterClass() { 22 self::delete_user( self::$administrator ); 23 } 13 24 14 25 public function setUp() { 15 26 parent::setUp(); 16 $this->administrator = $this->factory->user->create( array(17 'role' => 'administrator',18 ) );19 27 $this->endpoint = new WP_REST_Settings_Controller(); 20 28 } … … 38 46 39 47 public function test_get_item() { 40 wp_set_current_user( $this->administrator );48 wp_set_current_user( self::$administrator ); 41 49 $request = new WP_REST_Request( 'GET', '/wp/v2/settings' ); 42 50 $response = $this->server->dispatch( $request ); … … 64 72 65 73 public function test_get_item_value_is_cast_to_type() { 66 wp_set_current_user( $this->administrator );74 wp_set_current_user( self::$administrator ); 67 75 update_option( 'posts_per_page', 'invalid_number' ); // this is cast to (int) 1 68 76 $request = new WP_REST_Request( 'GET', '/wp/v2/settings' ); … … 75 83 76 84 public function test_get_item_with_custom_setting() { 77 wp_set_current_user( $this->administrator );85 wp_set_current_user( self::$administrator ); 78 86 79 87 register_setting( 'somegroup', 'mycustomsetting', array( … … 115 123 116 124 public function test_get_item_with_filter() { 117 wp_set_current_user( $this->administrator );125 wp_set_current_user( self::$administrator ); 118 126 119 127 add_filter( 'rest_pre_get_setting', array( $this, 'get_setting_custom_callback' ), 10, 3 ); … … 156 164 157 165 public function test_update_item() { 158 wp_set_current_user( $this->administrator );166 wp_set_current_user( self::$administrator ); 159 167 $request = new WP_REST_Request( 'PUT', '/wp/v2/settings' ); 160 168 $request->set_param( 'title', 'The new title!' ); … … 177 185 178 186 public function test_update_item_with_filter() { 179 wp_set_current_user( $this->administrator );187 wp_set_current_user( self::$administrator ); 180 188 181 189 $request = new WP_REST_Request( 'PUT', '/wp/v2/settings' ); … … 208 216 209 217 public function test_update_item_with_invalid_type() { 210 wp_set_current_user( $this->administrator );218 wp_set_current_user( self::$administrator ); 211 219 $request = new WP_REST_Request( 'PUT', '/wp/v2/settings' ); 212 220 $request->set_param( 'title', array( 'rendered' => 'This should fail.' ) ); … … 221 229 update_option( 'posts_per_page', 9 ); 222 230 223 wp_set_current_user( $this->administrator );231 wp_set_current_user( self::$administrator ); 224 232 $request = new WP_REST_Request( 'PUT', '/wp/v2/settings' ); 225 233 $request->set_param( 'posts_per_page', null ); … … 234 242 update_option( 'posts_per_page', 9 ); 235 243 236 wp_set_current_user( $this->administrator );244 wp_set_current_user( self::$administrator ); 237 245 $request = new WP_REST_Request( 'PUT', '/wp/v2/settings' ); 238 246 $request->set_param( 'default_ping_status', 'open&closed' ); -
trunk/tests/phpunit/tests/rest-api/rest-users-controller.php
r38832 r38975 11 11 */ 12 12 class WP_Test_REST_Users_Controller extends WP_Test_REST_Controller_Testcase { 13 protected static $user; 14 protected static $editor; 15 16 public static function wpSetUpBeforeClass( $factory ) { 17 self::$user = $factory->user->create( array( 18 'role' => 'administrator', 19 ) ); 20 self::$editor = $factory->user->create( array( 21 'role' => 'editor', 22 'user_email' => 'editor@example.com', 23 ) ); 24 } 25 26 public static function wpTearDownAfterClass() { 27 self::delete_user( self::$user ); 28 self::delete_user( self::$editor ); 29 } 30 13 31 /** 14 32 * This function is run before each method … … 16 34 public function setUp() { 17 35 parent::setUp(); 18 19 $this->user = $this->factory->user->create( array(20 'role' => 'administrator',21 ) );22 23 $this->editor = $this->factory->user->create( array(24 'role' => 'editor',25 'user_email' => 'editor@example.com',26 ) );27 28 36 $this->endpoint = new WP_REST_Users_Controller(); 29 37 } … … 47 55 $this->assertEquals( array( 'view', 'embed', 'edit' ), $data['endpoints'][0]['args']['context']['enum'] ); 48 56 // Single 49 $request = new WP_REST_Request( 'OPTIONS', '/wp/v2/users/' . $this->user );57 $request = new WP_REST_Request( 'OPTIONS', '/wp/v2/users/' . self::$user ); 50 58 $response = $this->server->dispatch( $request ); 51 59 $data = $response->get_data(); … … 76 84 77 85 public function test_get_items() { 78 wp_set_current_user( $this->user );86 wp_set_current_user( self::$user ); 79 87 80 88 $request = new WP_REST_Request( 'GET', '/wp/v2/users' ); … … 91 99 92 100 public function test_get_items_with_edit_context() { 93 wp_set_current_user( $this->user );101 wp_set_current_user( self::$user ); 94 102 95 103 $request = new WP_REST_Request( 'GET', '/wp/v2/users' ); … … 114 122 115 123 //test with a user logged in but without sufficient capabilities; capability in question: 'list_users' 116 wp_set_current_user( $this->editor );124 wp_set_current_user( self::$editor ); 117 125 $request = new WP_REST_Request( 'GET', '/wp/v2/users' ); 118 126 $request->set_param( 'context', 'edit' ); … … 128 136 $this->assertEquals( array(), $response->get_data() ); 129 137 130 $this->factory->post->create( array( 'post_author' => $this->editor ) );131 $this->factory->post->create( array( 'post_author' => $this->user, 'post_status' => 'draft' ) );138 $this->factory->post->create( array( 'post_author' => self::$editor ) ); 139 $this->factory->post->create( array( 'post_author' => self::$user, 'post_status' => 'draft' ) ); 132 140 133 141 $request = new WP_REST_Request( 'GET', '/wp/v2/users' ); … … 149 157 */ 150 158 public function test_get_items_pagination_headers() { 151 wp_set_current_user( $this->user );159 wp_set_current_user( self::$user ); 152 160 // Start of the index, including the three existing users 153 161 for ( $i = 0; $i < 47; $i++ ) { … … 211 219 212 220 public function test_get_items_per_page() { 213 wp_set_current_user( $this->user );221 wp_set_current_user( self::$user ); 214 222 for ( $i = 0; $i < 20; $i++ ) { 215 223 $this->factory->user->create( array( 'display_name' => "User {$i}" ) ); … … 225 233 226 234 public function test_get_items_page() { 227 wp_set_current_user( $this->user );235 wp_set_current_user( self::$user ); 228 236 for ( $i = 0; $i < 20; $i++ ) { 229 237 $this->factory->user->create( array( 'display_name' => "User {$i}" ) ); … … 243 251 244 252 public function test_get_items_orderby_name() { 245 wp_set_current_user( $this->user );253 wp_set_current_user( self::$user ); 246 254 $low_id = $this->factory->user->create( array( 'display_name' => 'AAAAA' ) ); 247 255 $mid_id = $this->factory->user->create( array( 'display_name' => 'NNNNN' ) ); … … 264 272 265 273 public function test_get_items_orderby_url() { 266 wp_set_current_user( $this->user );274 wp_set_current_user( self::$user ); 267 275 268 276 $low_id = $this->factory->user->create( array( 'user_url' => 'http://a.com' ) ); … … 290 298 291 299 public function test_get_items_orderby_slug() { 292 wp_set_current_user( $this->user );300 wp_set_current_user( self::$user ); 293 301 294 302 $high_id = $this->factory->user->create( array( 'user_nicename' => 'blogin' ) ); … … 316 324 317 325 public function test_get_items_orderby_email() { 318 wp_set_current_user( $this->user );326 wp_set_current_user( self::$user ); 319 327 320 328 $high_id = $this->factory->user->create( array( 'user_email' => 'bemail@gmail.com' ) ); … … 357 365 358 366 public function test_get_items_offset() { 359 wp_set_current_user( $this->user );367 wp_set_current_user( self::$user ); 360 368 // 2 users created in __construct(), plus default user 361 369 $this->factory->user->create(); … … 375 383 376 384 public function test_get_items_include_query() { 377 wp_set_current_user( $this->user );385 wp_set_current_user( self::$user ); 378 386 $id1 = $this->factory->user->create(); 379 387 $id2 = $this->factory->user->create(); … … 401 409 402 410 public function test_get_items_exclude_query() { 403 wp_set_current_user( $this->user );411 wp_set_current_user( self::$user ); 404 412 $id1 = $this->factory->user->create(); 405 413 $id2 = $this->factory->user->create(); … … 417 425 418 426 public function test_get_items_search() { 419 wp_set_current_user( $this->user );427 wp_set_current_user( self::$user ); 420 428 $request = new WP_REST_Request( 'GET', '/wp/v2/users' ); 421 429 $request->set_param( 'search', 'yololololo' ); … … 441 449 442 450 public function test_get_items_slug_query() { 443 wp_set_current_user( $this->user );451 wp_set_current_user( self::$user ); 444 452 $this->factory->user->create( array( 'display_name' => 'foo', 'user_login' => 'bar' ) ); 445 453 $id2 = $this->factory->user->create( array( 'display_name' => 'Moo', 'user_login' => 'foo' ) ); … … 454 462 // Note: Do not test using editor role as there is an editor role created in testing and it makes it hard to test this functionality. 455 463 public function test_get_items_roles() { 456 wp_set_current_user( $this->user );464 wp_set_current_user( self::$user ); 457 465 $tango = $this->factory->user->create( array( 'display_name' => 'tango', 'role' => 'subscriber' ) ); 458 466 $yolo = $this->factory->user->create( array( 'display_name' => 'yolo', 'role' => 'author' ) ); … … 473 481 $response = $this->server->dispatch( $request ); 474 482 $this->assertErrorResponse( 'rest_user_cannot_view', $response, 401 ); 475 wp_set_current_user( $this->editor );483 wp_set_current_user( self::$editor ); 476 484 $request->set_param( 'roles', 'author' ); 477 485 $response = $this->server->dispatch( $request ); … … 480 488 481 489 public function test_get_items_invalid_roles() { 482 wp_set_current_user( $this->user );490 wp_set_current_user( self::$user ); 483 491 $lolz = $this->factory->user->create( array( 'display_name' => 'lolz', 'role' => 'author' ) ); 484 492 $request = new WP_REST_Request( 'GET', '/wp/v2/users' ); … … 498 506 public function test_get_item() { 499 507 $user_id = $this->factory->user->create(); 500 wp_set_current_user( $this->user );508 wp_set_current_user( self::$user ); 501 509 502 510 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/users/%d', $user_id ) ); … … 507 515 508 516 public function test_prepare_item() { 509 wp_set_current_user( $this->user );517 wp_set_current_user( self::$user ); 510 518 $request = new WP_REST_Request; 511 519 $request->set_param( 'context', 'edit' ); … … 516 524 517 525 public function test_get_user_avatar_urls() { 518 wp_set_current_user( $this->user );519 520 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/users/%d', $this->editor ) );526 wp_set_current_user( self::$user ); 527 528 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/users/%d', self::$editor ) ); 521 529 522 530 $response = $this->server->dispatch( $request ); … … 527 535 $this->assertArrayHasKey( 96, $data['avatar_urls'] ); 528 536 529 $user = get_user_by( 'id', $this->editor );537 $user = get_user_by( 'id', self::$editor ); 530 538 /** 531 539 * Ignore the subdomain, since 'get_avatar_url randomly sets the Gravatar … … 536 544 537 545 public function test_get_user_invalid_id() { 538 wp_set_current_user( $this->user );546 wp_set_current_user( self::$user ); 539 547 $request = new WP_REST_Request( 'GET', '/wp/v2/users/100' ); 540 548 $response = $this->server->dispatch( $request ); … … 544 552 545 553 public function test_get_user_empty_capabilities() { 546 wp_set_current_user( $this->user );554 wp_set_current_user( self::$user ); 547 555 $this->allow_user_to_manage_multisite(); 548 556 … … 560 568 561 569 public function test_get_item_without_permission() { 562 wp_set_current_user( $this->editor );563 564 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/users/%d', $this->user ) );570 wp_set_current_user( self::$editor ); 571 572 $request = new WP_REST_Request( 'GET', sprintf( '/wp/v2/users/%d', self::$user ) ); 565 573 $response = $this->server->dispatch( $request ); 566 574 … … 623 631 624 632 public function test_get_current_user() { 625 wp_set_current_user( $this->user );633 wp_set_current_user( self::$user ); 626 634 627 635 $request = new WP_REST_Request( 'GET', '/wp/v2/users/me' ); … … 632 640 $headers = $response->get_headers(); 633 641 $this->assertArrayHasKey( 'Location', $headers ); 634 $this->assertEquals( rest_url( 'wp/v2/users/' . $this->user ), $headers['Location'] );642 $this->assertEquals( rest_url( 'wp/v2/users/' . self::$user ), $headers['Location'] ); 635 643 } 636 644 … … 645 653 public function test_create_item() { 646 654 $this->allow_user_to_manage_multisite(); 647 wp_set_current_user( $this->user );655 wp_set_current_user( self::$user ); 648 656 649 657 $params = array( … … 671 679 public function test_json_create_user() { 672 680 $this->allow_user_to_manage_multisite(); 673 wp_set_current_user( $this->user );681 wp_set_current_user( self::$user ); 674 682 675 683 $params = array( … … 688 696 689 697 public function test_create_user_without_permission() { 690 wp_set_current_user( $this->editor );698 wp_set_current_user( self::$editor ); 691 699 692 700 $params = array( … … 706 714 public function test_create_user_invalid_id() { 707 715 $this->allow_user_to_manage_multisite(); 708 wp_set_current_user( $this->user );716 wp_set_current_user( self::$user ); 709 717 710 718 $params = array( … … 725 733 public function test_create_user_invalid_email() { 726 734 $this->allow_user_to_manage_multisite(); 727 wp_set_current_user( $this->user );735 wp_set_current_user( self::$user ); 728 736 729 737 $params = array( … … 743 751 public function test_create_user_invalid_role() { 744 752 $this->allow_user_to_manage_multisite(); 745 wp_set_current_user( $this->user );753 wp_set_current_user( self::$user ); 746 754 747 755 $params = array( … … 769 777 )); 770 778 $this->allow_user_to_manage_multisite(); 771 wp_set_current_user( $this->user );779 wp_set_current_user( self::$user ); 772 780 773 781 $userdata = get_userdata( $user_id ); … … 804 812 $user2 = $this->factory->user->create( array( 'user_login' => 'test_json_user2', 'user_email' => 'testjson2@example.com' ) ); 805 813 $this->allow_user_to_manage_multisite(); 806 wp_set_current_user( $this->user );814 wp_set_current_user( self::$user ); 807 815 808 816 $request = new WP_REST_Request( 'PUT', '/wp/v2/users/' . $user2 ); … … 817 825 $user2 = $this->factory->user->create( array( 'user_login' => 'test_json_user2', 'user_email' => 'testjson2@example.com' ) ); 818 826 $this->allow_user_to_manage_multisite(); 819 wp_set_current_user( $this->user );827 wp_set_current_user( self::$user ); 820 828 821 829 $request = new WP_REST_Request( 'PUT', '/wp/v2/users/' . $user2 ); … … 830 838 $user2 = $this->factory->user->create( array( 'user_login' => 'test_json_user2', 'user_email' => 'testjson2@example.com' ) ); 831 839 $this->allow_user_to_manage_multisite(); 832 wp_set_current_user( $this->user );840 wp_set_current_user( self::$user ); 833 841 834 842 $request = new WP_REST_Request( 'PUT', '/wp/v2/users/' . $user2 ); … … 848 856 )); 849 857 $this->allow_user_to_manage_multisite(); 850 wp_set_current_user( $this->user );858 wp_set_current_user( self::$user ); 851 859 852 860 $params = array( … … 883 891 $user_id = $this->factory->user->create( array( 'role' => 'administrator' ) ); 884 892 885 wp_set_current_user( $this->user );893 wp_set_current_user( self::$user ); 886 894 $this->allow_user_to_manage_multisite(); 887 895 … … 901 909 902 910 public function test_update_user_role_invalid_privilege_escalation() { 903 wp_set_current_user( $this->editor );904 905 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/users/%d', $this->editor ) );911 wp_set_current_user( self::$editor ); 912 913 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/users/%d', self::$editor ) ); 906 914 $request->set_param( 'roles', array( 'administrator' ) ); 907 915 $response = $this->server->dispatch( $request ); 908 916 909 917 $this->assertErrorResponse( 'rest_cannot_edit_roles', $response, 403 ); 910 $user = get_userdata( $this->editor );918 $user = get_userdata( self::$editor ); 911 919 $this->assertArrayHasKey( 'editor', $user->caps ); 912 920 $this->assertArrayNotHasKey( 'administrator', $user->caps ); … … 955 963 956 964 public function test_update_user_role_invalid_role() { 957 wp_set_current_user( $this->user );958 $this->allow_user_to_manage_multisite(); 959 960 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/users/%d', $this->editor ) );965 wp_set_current_user( self::$user ); 966 $this->allow_user_to_manage_multisite(); 967 968 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/users/%d', self::$editor ) ); 961 969 $request->set_param( 'roles', array( 'BeSharp' ) ); 962 970 $response = $this->server->dispatch( $request ); … … 964 972 $this->assertErrorResponse( 'rest_user_invalid_role', $response, 400 ); 965 973 966 $user = get_userdata( $this->editor );974 $user = get_userdata( self::$editor ); 967 975 $this->assertArrayHasKey( 'editor', $user->caps ); 968 976 $this->assertArrayNotHasKey( 'BeSharp', $user->caps ); … … 970 978 971 979 public function test_update_user_without_permission() { 972 wp_set_current_user( $this->editor );980 wp_set_current_user( self::$editor ); 973 981 974 982 $params = array( … … 978 986 ); 979 987 980 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/users/%d', $this->user ) );988 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/users/%d', self::$user ) ); 981 989 $request->add_header( 'content-type', 'application/x-www-form-urlencoded' ); 982 990 $request->set_body_params( $params ); … … 988 996 public function test_update_user_invalid_id() { 989 997 $this->allow_user_to_manage_multisite(); 990 wp_set_current_user( $this->user );998 wp_set_current_user( self::$user ); 991 999 992 1000 $params = array( … … 997 1005 ); 998 1006 999 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/users/%d', $this->editor ) );1007 $request = new WP_REST_Request( 'PUT', sprintf( '/wp/v2/users/%d', self::$editor ) ); 1000 1008 $request->add_header( 'content-type', 'application/x-www-form-urlencoded' ); 1001 1009 $request->set_body_params( $params ); … … 1009 1017 1010 1018 $this->allow_user_to_manage_multisite(); 1011 wp_set_current_user( $this->user );1019 wp_set_current_user( self::$user ); 1012 1020 1013 1021 $userdata = get_userdata( $user_id ); // cache for later … … 1025 1033 1026 1034 $this->allow_user_to_manage_multisite(); 1027 wp_set_current_user( $this->user );1035 wp_set_current_user( self::$user ); 1028 1036 1029 1037 $userdata = get_userdata( $user_id ); // cache for later … … 1041 1049 1042 1050 $this->allow_user_to_manage_multisite(); 1043 wp_set_current_user( $this->editor );1051 wp_set_current_user( self::$editor ); 1044 1052 1045 1053 $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/users/%d', $user_id ) ); … … 1052 1060 public function test_delete_user_invalid_id() { 1053 1061 $this->allow_user_to_manage_multisite(); 1054 wp_set_current_user( $this->user );1062 wp_set_current_user( self::$user ); 1055 1063 1056 1064 $request = new WP_REST_Request( 'DELETE', '/wp/v2/users/100' ); … … 1076 1084 1077 1085 // Delete our test user, and reassign to the new author 1078 wp_set_current_user( $this->user );1086 wp_set_current_user( self::$user ); 1079 1087 $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/users/%d', $user_id ) ); 1080 1088 $request['force'] = true; … … 1093 1101 1094 1102 $this->allow_user_to_manage_multisite(); 1095 wp_set_current_user( $this->user );1103 wp_set_current_user( self::$user ); 1096 1104 1097 1105 $request = new WP_REST_Request( 'DELETE', sprintf( '/wp/v2/users/%d', $user_id ) ); … … 1220 1228 1221 1229 // Check for error on update. 1222 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/users/%d', $this->user ) );1230 $request = new WP_REST_Request( 'POST', sprintf( '/wp/v2/users/%d', self::$user ) ); 1223 1231 $request->set_body_params( array( 1224 1232 'my_custom_int' => 'returnError', … … 1309 1317 1310 1318 protected function allow_user_to_manage_multisite() { 1311 wp_set_current_user( $this->user );1319 wp_set_current_user( self::$user ); 1312 1320 $user = wp_get_current_user(); 1313 1321
Note: See TracChangeset
for help on using the changeset viewer.