Skip to content

Commit 500fa46

Browse files
committed
REST API: Fix finalize endpoint tests in Attachments controller.
Enable client-side media processing in the three `test_finalize_item*` tests so the `/finalize` route is registered before dispatching requests. Without this, the route does not exist and all assertions fail with `rest_no_route`. Extracts the repeated filter-and-reinitialize pattern into a shared `enable_client_side_media_processing()` helper, used by both the sideload and finalize tests. Follow-up to [61982]. git-svn-id: https://develop.svn.wordpress.org/trunk@61984 602fd350-edb4-49c9-b593-d223f7449a82
1 parent 09f7588 commit 500fa46

File tree

1 file changed

+23
-25
lines changed

1 file changed

+23
-25
lines changed

tests/phpunit/tests/rest-api/rest-attachments-controller.php

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,18 @@ public function tear_down() {
194194
parent::tear_down();
195195
}
196196

197+
/**
198+
* Enables client-side media processing and reinitializes the REST server
199+
* so that the sideload and finalize routes are registered.
200+
*/
201+
private function enable_client_side_media_processing(): void {
202+
add_filter( 'wp_client_side_media_processing_enabled', '__return_true' );
203+
204+
global $wp_rest_server;
205+
$wp_rest_server = new Spy_REST_Server();
206+
do_action( 'rest_api_init', $wp_rest_server );
207+
}
208+
197209
public function test_register_routes() {
198210
$routes = rest_get_server()->get_routes();
199211
$this->assertArrayHasKey( '/wp/v2/media', $routes );
@@ -3236,11 +3248,7 @@ static function ( $data ) use ( &$captured_data ) {
32363248
* @requires function imagejpeg
32373249
*/
32383250
public function test_sideload_scaled_image() {
3239-
add_filter( 'wp_client_side_media_processing_enabled', '__return_true' );
3240-
// Reinitialize REST server so the sideload route is registered.
3241-
global $wp_rest_server;
3242-
$wp_rest_server = new Spy_REST_Server();
3243-
do_action( 'rest_api_init', $wp_rest_server );
3251+
$this->enable_client_side_media_processing();
32443252

32453253
wp_set_current_user( self::$author_id );
32463254

@@ -3295,11 +3303,7 @@ public function test_sideload_scaled_image() {
32953303
* @requires function imagejpeg
32963304
*/
32973305
public function test_sideload_scaled_image_requires_auth() {
3298-
add_filter( 'wp_client_side_media_processing_enabled', '__return_true' );
3299-
// Reinitialize REST server so the sideload route is registered.
3300-
global $wp_rest_server;
3301-
$wp_rest_server = new Spy_REST_Server();
3302-
do_action( 'rest_api_init', $wp_rest_server );
3306+
$this->enable_client_side_media_processing();
33033307

33043308
wp_set_current_user( self::$author_id );
33053309

@@ -3330,11 +3334,7 @@ public function test_sideload_scaled_image_requires_auth() {
33303334
* @ticket 64737
33313335
*/
33323336
public function test_sideload_route_includes_scaled_enum() {
3333-
add_filter( 'wp_client_side_media_processing_enabled', '__return_true' );
3334-
// Reinitialize REST server so the sideload route is registered.
3335-
global $wp_rest_server;
3336-
$wp_rest_server = new Spy_REST_Server();
3337-
do_action( 'rest_api_init', $wp_rest_server );
3337+
$this->enable_client_side_media_processing();
33383338

33393339
$server = rest_get_server();
33403340
$routes = $server->get_routes();
@@ -3358,11 +3358,7 @@ public function test_sideload_route_includes_scaled_enum() {
33583358
* @requires function imagejpeg
33593359
*/
33603360
public function test_sideload_scaled_unique_filename() {
3361-
add_filter( 'wp_client_side_media_processing_enabled', '__return_true' );
3362-
// Reinitialize REST server so the sideload route is registered.
3363-
global $wp_rest_server;
3364-
$wp_rest_server = new Spy_REST_Server();
3365-
do_action( 'rest_api_init', $wp_rest_server );
3361+
$this->enable_client_side_media_processing();
33663362

33673363
wp_set_current_user( self::$author_id );
33683364

@@ -3398,11 +3394,7 @@ public function test_sideload_scaled_unique_filename() {
33983394
* @requires function imagejpeg
33993395
*/
34003396
public function test_sideload_scaled_unique_filename_conflict() {
3401-
add_filter( 'wp_client_side_media_processing_enabled', '__return_true' );
3402-
// Reinitialize REST server so the sideload route is registered.
3403-
global $wp_rest_server;
3404-
$wp_rest_server = new Spy_REST_Server();
3405-
do_action( 'rest_api_init', $wp_rest_server );
3397+
$this->enable_client_side_media_processing();
34063398

34073399
wp_set_current_user( self::$author_id );
34083400

@@ -3456,6 +3448,8 @@ public function test_sideload_scaled_unique_filename_conflict() {
34563448
* @requires function imagejpeg
34573449
*/
34583450
public function test_finalize_item(): void {
3451+
$this->enable_client_side_media_processing();
3452+
34593453
wp_set_current_user( self::$author_id );
34603454

34613455
// Create an attachment.
@@ -3508,6 +3502,8 @@ function ( array $metadata, int $id, string $context ) use ( &$filter_metadata,
35083502
* @requires function imagejpeg
35093503
*/
35103504
public function test_finalize_item_requires_auth(): void {
3505+
$this->enable_client_side_media_processing();
3506+
35113507
wp_set_current_user( self::$author_id );
35123508

35133509
// Create an attachment.
@@ -3534,6 +3530,8 @@ public function test_finalize_item_requires_auth(): void {
35343530
* @covers WP_REST_Attachments_Controller::finalize_item
35353531
*/
35363532
public function test_finalize_item_invalid_id(): void {
3533+
$this->enable_client_side_media_processing();
3534+
35373535
wp_set_current_user( self::$author_id );
35383536

35393537
$invalid_id = PHP_INT_MAX;

0 commit comments

Comments
 (0)