33/**
44 * Tests for the REST list controller for abilities endpoint.
55 *
6- * @covers WP_REST_Abilities_List_Controller
6+ * @covers WP_REST_Abilities_V1_List_Controller
77 *
88 * @group abilities-api
99 * @group rest-api
1010 */
11- class Tests_REST_API_WpRestAbilitiesListController extends WP_UnitTestCase {
11+ class Tests_REST_API_WpRestAbilitiesV1ListController extends WP_UnitTestCase {
1212
1313 /**
1414 * REST Server instance.
@@ -259,7 +259,7 @@ private function register_test_abilities(): void {
259259 * @ticket 64098
260260 */
261261 public function test_get_items (): void {
262- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities ' );
262+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities ' );
263263 $ response = $ this ->server ->dispatch ( $ request );
264264
265265 $ this ->assertEquals ( 200 , $ response ->get_status () );
@@ -282,7 +282,7 @@ public function test_get_items(): void {
282282 * @ticket 64098
283283 */
284284 public function test_get_item (): void {
285- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities/test/calculator ' );
285+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities/test/calculator ' );
286286 $ response = $ this ->server ->dispatch ( $ request );
287287
288288 $ this ->assertEquals ( 200 , $ response ->get_status () );
@@ -305,7 +305,7 @@ public function test_get_item(): void {
305305 * @ticket 64098
306306 */
307307 public function test_get_item_with_selected_fields (): void {
308- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities/test/calculator ' );
308+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities/test/calculator ' );
309309 $ request ->set_param ( '_fields ' , 'name,label ' );
310310 $ response = $ this ->server ->dispatch ( $ request );
311311 add_filter ( 'rest_post_dispatch ' , 'rest_filter_response_fields ' , 10 , 3 );
@@ -326,7 +326,7 @@ public function test_get_item_with_selected_fields(): void {
326326 * @ticket 64098
327327 */
328328 public function test_get_item_with_embed_context (): void {
329- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities/test/calculator ' );
329+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities/test/calculator ' );
330330 $ request ->set_param ( 'context ' , 'embed ' );
331331 $ response = $ this ->server ->dispatch ( $ request );
332332 add_filter ( 'rest_post_dispatch ' , 'rest_filter_response_fields ' , 10 , 3 );
@@ -350,7 +350,7 @@ public function test_get_item_with_embed_context(): void {
350350 * @expectedIncorrectUsage WP_Abilities_Registry::get_registered
351351 */
352352 public function test_get_item_not_found (): void {
353- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities/non/existent ' );
353+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities/non/existent ' );
354354 $ response = $ this ->server ->dispatch ( $ request );
355355
356356 $ this ->assertEquals ( 404 , $ response ->get_status () );
@@ -365,7 +365,7 @@ public function test_get_item_not_found(): void {
365365 * @ticket 64098
366366 */
367367 public function test_get_item_not_show_in_rest (): void {
368- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities/test/not-show-in-rest ' );
368+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities/test/not-show-in-rest ' );
369369 $ response = $ this ->server ->dispatch ( $ request );
370370
371371 $ this ->assertEquals ( 404 , $ response ->get_status () );
@@ -383,7 +383,7 @@ public function test_get_items_permission_denied(): void {
383383 // Test with non-logged-in user
384384 wp_set_current_user ( 0 );
385385
386- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities ' );
386+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities ' );
387387 $ response = $ this ->server ->dispatch ( $ request );
388388
389389 $ this ->assertEquals ( 401 , $ response ->get_status () );
@@ -395,7 +395,7 @@ public function test_get_items_permission_denied(): void {
395395 * @ticket 64098
396396 */
397397 public function test_pagination_headers (): void {
398- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities ' );
398+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities ' );
399399 $ request ->set_param ( 'per_page ' , 10 );
400400 $ response = $ this ->server ->dispatch ( $ request );
401401
@@ -416,7 +416,7 @@ public function test_pagination_headers(): void {
416416 * @ticket 64098
417417 */
418418 public function test_head_request (): void {
419- $ request = new WP_REST_Request ( 'HEAD ' , '/wp/v2 /abilities ' );
419+ $ request = new WP_REST_Request ( 'HEAD ' , '/wp-abilities/v1 /abilities ' );
420420 $ response = $ this ->server ->dispatch ( $ request );
421421
422422 // Verify empty response body
@@ -436,7 +436,7 @@ public function test_head_request(): void {
436436 */
437437 public function test_pagination_links (): void {
438438 // Test first page (should have 'next' link header but no 'prev')
439- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities ' );
439+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities ' );
440440 $ request ->set_param ( 'per_page ' , 10 );
441441 $ request ->set_param ( 'page ' , 1 );
442442 $ response = $ this ->server ->dispatch ( $ request );
@@ -478,7 +478,7 @@ public function test_pagination_links(): void {
478478 */
479479 public function test_collection_params (): void {
480480 // Test per_page parameter
481- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities ' );
481+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities ' );
482482 $ request ->set_param ( 'per_page ' , 5 );
483483 $ response = $ this ->server ->dispatch ( $ request );
484484
@@ -494,7 +494,7 @@ public function test_collection_params(): void {
494494 $ this ->assertCount ( 5 , $ data );
495495
496496 // Verify we got different abilities on page 2
497- $ page1_request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities ' );
497+ $ page1_request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities ' );
498498 $ page1_request ->set_param ( 'per_page ' , 5 );
499499 $ page1_request ->set_param ( 'page ' , 1 );
500500 $ page1_response = $ this ->server ->dispatch ( $ page1_request );
@@ -510,7 +510,7 @@ public function test_collection_params(): void {
510510 * @ticket 64098
511511 */
512512 public function test_ability_response_links (): void {
513- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities/test/calculator ' );
513+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities/test/calculator ' );
514514 $ response = $ this ->server ->dispatch ( $ request );
515515
516516 $ links = $ response ->get_links ();
@@ -520,13 +520,13 @@ public function test_ability_response_links(): void {
520520
521521 // Verify link URLs
522522 $ self_link = $ links ['self ' ][0 ]['href ' ];
523- $ this ->assertStringContainsString ( '/wp/v2 /abilities/test/calculator ' , $ self_link );
523+ $ this ->assertStringContainsString ( '/wp-abilities/v1 /abilities/test/calculator ' , $ self_link );
524524
525525 $ collection_link = $ links ['collection ' ][0 ]['href ' ];
526- $ this ->assertStringContainsString ( '/wp/v2 /abilities ' , $ collection_link );
526+ $ this ->assertStringContainsString ( '/wp-abilities/v1 /abilities ' , $ collection_link );
527527
528528 $ run_link = $ links ['wp:action-run ' ][0 ]['href ' ];
529- $ this ->assertStringContainsString ( '/wp/v2 /abilities/test/calculator/run ' , $ run_link );
529+ $ this ->assertStringContainsString ( '/wp-abilities/v1 /abilities/test/calculator/run ' , $ run_link );
530530 }
531531
532532 /**
@@ -535,7 +535,7 @@ public function test_ability_response_links(): void {
535535 * @ticket 64098
536536 */
537537 public function test_context_parameter (): void {
538- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities/test/calculator ' );
538+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities/test/calculator ' );
539539 $ request ->set_param ( 'context ' , 'view ' );
540540 $ response = $ this ->server ->dispatch ( $ request );
541541
@@ -556,7 +556,7 @@ public function test_context_parameter(): void {
556556 * @ticket 64098
557557 */
558558 public function test_get_schema (): void {
559- $ request = new WP_REST_Request ( 'OPTIONS ' , '/wp/v2 /abilities ' );
559+ $ request = new WP_REST_Request ( 'OPTIONS ' , '/wp-abilities/v1 /abilities ' );
560560 $ response = $ this ->server ->dispatch ( $ request );
561561 $ data = $ response ->get_data ();
562562
@@ -606,7 +606,7 @@ public function test_ability_name_with_valid_special_characters(): void {
606606 );
607607
608608 // Test valid special characters (hyphen, forward slash)
609- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities/test-hyphen/ability ' );
609+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities/test-hyphen/ability ' );
610610 $ response = $ this ->server ->dispatch ( $ request );
611611
612612 wp_unregister_ability ( 'test-hyphen/ability ' );
@@ -642,7 +642,7 @@ public function data_invalid_ability_names_provider(): array {
642642 * @param string $name Invalid ability name to test.
643643 */
644644 public function test_ability_name_with_invalid_special_characters ( string $ name ): void {
645- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities/ ' . $ name );
645+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities/ ' . $ name );
646646 $ response = $ this ->server ->dispatch ( $ request );
647647 // Should return 404 as the regex pattern won't match
648648 $ this ->assertEquals ( 404 , $ response ->get_status () );
@@ -659,7 +659,7 @@ public function test_extremely_long_ability_names(): void {
659659 // Create a very long but valid ability name
660660 $ long_name = 'test/ ' . str_repeat ( 'a ' , 1000 );
661661
662- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities/ ' . $ long_name );
662+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities/ ' . $ long_name );
663663 $ response = $ this ->server ->dispatch ( $ request );
664664
665665 // Should return 404 as ability doesn't exist
@@ -693,7 +693,7 @@ public function data_invalid_pagination_params_provider(): array {
693693 * @param array<string, mixed> $params Invalid pagination parameters.
694694 */
695695 public function test_invalid_pagination_parameters ( array $ params ): void {
696- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities ' );
696+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities ' );
697697 $ request ->set_query_params ( $ params );
698698
699699 $ response = $ this ->server ->dispatch ( $ request );
@@ -716,7 +716,7 @@ public function test_invalid_pagination_parameters( array $params ): void {
716716 * @ticket 64098
717717 */
718718 public function test_filter_by_category (): void {
719- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities ' );
719+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities ' );
720720 $ request ->set_param ( 'category ' , 'math ' );
721721 $ response = $ this ->server ->dispatch ( $ request );
722722
@@ -748,7 +748,7 @@ public function test_filter_by_nonexistent_category(): void {
748748 'The nonexistent category should not be registered - test isolation may be broken '
749749 );
750750
751- $ request = new WP_REST_Request ( 'GET ' , '/wp/v2 /abilities ' );
751+ $ request = new WP_REST_Request ( 'GET ' , '/wp-abilities/v1 /abilities ' );
752752 $ request ->set_param ( 'category ' , 'nonexistent ' );
753753 $ response = $ this ->server ->dispatch ( $ request );
754754
0 commit comments