Changeset 61697
- Timestamp:
- 02/19/2026 03:25:10 PM (7 weeks ago)
- Location:
- trunk/tests
- Files:
-
- 2 edited
-
phpunit/tests/rest-api/rest-autosaves-controller.php (modified) (5 diffs)
-
qunit/fixtures/wp-api-generated.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/rest-api/rest-autosaves-controller.php
r59970 r61697 571 571 572 572 public function test_rest_autosave_draft_post_same_author() { 573 $original_option = get_option( 'enable_real_time_collaboration' ); 574 update_option( 'enable_real_time_collaboration', false ); 575 573 576 wp_set_current_user( self::$editor_id ); 574 577 … … 605 608 606 609 wp_delete_post( $post_id ); 610 update_option( 'enable_real_time_collaboration', $original_option ); 607 611 } 608 612 … … 745 749 746 750 public function test_update_item_draft_page_with_parent() { 751 $original_option = get_option( 'enable_real_time_collaboration' ); 752 update_option( 'enable_real_time_collaboration', false ); 753 747 754 wp_set_current_user( self::$editor_id ); 748 755 $request = new WP_REST_Request( 'POST', '/wp/v2/pages/' . self::$child_draft_page_id . '/autosaves' ); … … 762 769 $this->assertSame( self::$child_draft_page_id, $data['id'] ); 763 770 $this->assertSame( self::$parent_page_id, $data['parent'] ); 771 update_option( 'enable_real_time_collaboration', $original_option ); 764 772 } 765 773 … … 921 929 ); 922 930 } 931 932 /** 933 * When real-time collaboration is enabled, autosaving a draft post by the 934 * same author should create a revision instead of updating the post directly. 935 */ 936 public function test_rest_autosave_draft_post_same_author_with_rtc() { 937 $original_option = get_option( 'enable_real_time_collaboration' ); 938 update_option( 'enable_real_time_collaboration', true ); 939 940 wp_set_current_user( self::$editor_id ); 941 942 $post_data = array( 943 'post_content' => 'Test post content', 944 'post_title' => 'Test post title', 945 'post_excerpt' => 'Test post excerpt', 946 ); 947 $post_id = wp_insert_post( $post_data ); 948 949 $autosave_data = array( 950 'id' => $post_id, 951 'content' => 'Updated post \ content', 952 'title' => 'Updated post title', 953 ); 954 955 $request = new WP_REST_Request( 'POST', '/wp/v2/posts/' . self::$post_id . '/autosaves' ); 956 $request->add_header( 'Content-Type', 'application/json' ); 957 $request->set_body( wp_json_encode( $autosave_data ) ); 958 959 $response = rest_get_server()->dispatch( $request ); 960 $new_data = $response->get_data(); 961 $post = get_post( $post_id ); 962 963 // With RTC enabled, a revision is created instead of updating the post. 964 $this->assertNotSame( $post_id, $new_data['id'] ); 965 $this->assertSame( $post_id, $new_data['parent'] ); 966 967 // The autosave revision should have the updated content. 968 $this->assertSame( $autosave_data['content'], $new_data['content']['raw'] ); 969 $this->assertSame( $autosave_data['title'], $new_data['title']['raw'] ); 970 971 // The draft post should not be updated. 972 $this->assertSame( $post_data['post_content'], $post->post_content ); 973 $this->assertSame( $post_data['post_title'], $post->post_title ); 974 $this->assertSame( $post_data['post_excerpt'], $post->post_excerpt ); 975 976 wp_delete_post( $post_id ); 977 update_option( 'enable_real_time_collaboration', $original_option ); 978 } 979 980 /** 981 * When real-time collaboration is enabled, autosaving a draft page with 982 * a parent should create a revision instead of updating the page directly. 983 */ 984 public function test_update_item_draft_page_with_parent_with_rtc() { 985 $original_option = get_option( 'enable_real_time_collaboration' ); 986 update_option( 'enable_real_time_collaboration', true ); 987 988 wp_set_current_user( self::$editor_id ); 989 $request = new WP_REST_Request( 'POST', '/wp/v2/pages/' . self::$child_draft_page_id . '/autosaves' ); 990 $request->add_header( 'Content-Type', 'application/x-www-form-urlencoded' ); 991 992 $params = $this->set_post_data( 993 array( 994 'id' => self::$child_draft_page_id, 995 'author' => self::$editor_id, 996 ) 997 ); 998 999 $request->set_body_params( $params ); 1000 $response = rest_get_server()->dispatch( $request ); 1001 $data = $response->get_data(); 1002 1003 // With RTC enabled, a revision is created instead of updating the page. 1004 $this->assertNotSame( self::$child_draft_page_id, $data['id'] ); 1005 $this->assertSame( self::$child_draft_page_id, $data['parent'] ); 1006 update_option( 'enable_real_time_collaboration', $original_option ); 1007 } 923 1008 } -
trunk/tests/qunit/fixtures/wp-api-generated.js
r61689 r61697 21 21 "wp-site-health/v1", 22 22 "wp-block-editor/v1", 23 "wp-abilities/v1" 23 "wp-abilities/v1", 24 "wp-sync/v1" 24 25 ], 25 26 "authentication": { … … 12699 12700 } 12700 12701 ] 12702 }, 12703 "/wp-sync/v1": { 12704 "namespace": "wp-sync/v1", 12705 "methods": [ 12706 "GET" 12707 ], 12708 "endpoints": [ 12709 { 12710 "methods": [ 12711 "GET" 12712 ], 12713 "args": { 12714 "namespace": { 12715 "default": "wp-sync/v1", 12716 "required": false 12717 }, 12718 "context": { 12719 "default": "view", 12720 "required": false 12721 } 12722 } 12723 } 12724 ], 12725 "_links": { 12726 "self": [ 12727 { 12728 "href": "http://example.org/index.php?rest_route=/wp-sync/v1" 12729 } 12730 ] 12731 } 12732 }, 12733 "/wp-sync/v1/updates": { 12734 "namespace": "wp-sync/v1", 12735 "methods": [ 12736 "POST" 12737 ], 12738 "endpoints": [ 12739 { 12740 "methods": [ 12741 "POST" 12742 ], 12743 "args": { 12744 "rooms": { 12745 "items": { 12746 "properties": { 12747 "after": { 12748 "minimum": 0, 12749 "required": true, 12750 "type": "integer" 12751 }, 12752 "awareness": { 12753 "required": true, 12754 "type": "object" 12755 }, 12756 "client_id": { 12757 "minimum": 1, 12758 "required": true, 12759 "type": "integer" 12760 }, 12761 "room": { 12762 "required": true, 12763 "type": "string", 12764 "pattern": "^[^/]+/[^/:]+(?::\\S+)?$" 12765 }, 12766 "updates": { 12767 "items": { 12768 "properties": { 12769 "data": { 12770 "type": "string", 12771 "required": true 12772 }, 12773 "type": { 12774 "type": "string", 12775 "required": true, 12776 "enum": [ 12777 "compaction", 12778 "sync_step1", 12779 "sync_step2", 12780 "update" 12781 ] 12782 } 12783 }, 12784 "required": true, 12785 "type": "object" 12786 }, 12787 "minItems": 0, 12788 "required": true, 12789 "type": "array" 12790 } 12791 }, 12792 "type": "object" 12793 }, 12794 "type": "array", 12795 "required": true 12796 } 12797 } 12798 } 12799 ], 12800 "_links": { 12801 "self": [ 12802 { 12803 "href": "http://example.org/index.php?rest_route=/wp-sync/v1/updates" 12804 } 12805 ] 12806 } 12701 12807 } 12702 12808 },
Note: See TracChangeset
for help on using the changeset viewer.