REST API: Allow meta to be set when creating a new media record via REST.

Props TimothyBlynJacobs, apermo.
Fixes #44567.


git-svn-id: https://develop.svn.wordpress.org/trunk@47261 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
K. Adam White
2020-02-11 03:37:17 +00:00
parent fc434a0c77
commit 886a02686b
2 changed files with 39 additions and 0 deletions

View File

@@ -1740,6 +1740,35 @@ class WP_Test_REST_Attachments_Controller extends WP_Test_REST_Post_Type_Control
$this->assertSame( 1, self::$rest_after_insert_attachment_count );
}
/**
* @ticket 44567
*/
public function test_create_item_with_meta_values() {
register_post_meta(
'attachment',
'best_cannoli',
array(
'type' => 'string',
'single' => true,
'show_in_rest' => true,
)
);
wp_set_current_user( self::$author_id );
$request = new WP_REST_Request( 'POST', '/wp/v2/media' );
$request->set_header( 'Content-Type', 'image/jpeg' );
$request->set_header( 'Content-Disposition', 'attachment; filename=cannoli.jpg' );
$request->set_param( 'meta', array( 'best_cannoli' => 'Chocolate-dipped, no filling' ) );
$request->set_body( file_get_contents( $this->test_file ) );
$response = rest_get_server()->dispatch( $request );
$data = $response->get_data();
$this->assertEquals( 201, $response->get_status() );
$this->assertEquals( 'Chocolate-dipped, no filling', get_post_meta( $response->get_data()['id'], 'best_cannoli', true ) );
}
public function filter_rest_insert_attachment( $attachment ) {
self::$rest_insert_attachment_count++;
}