- Timestamp:
- 10/24/2017 09:04:50 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/rest-api/rest-settings-controller.php
r41758 r42000 191 191 ) ); 192 192 193 // We have to re-register the route, as the args changes based off registered settings. 194 $this->server->override_by_default = true; 195 $this->endpoint->register_routes(); 196 193 197 // Object is cast to correct types. 194 198 update_option( 'mycustomsetting', array( 'a' => '1' ) ); … … 210 214 $response = $this->server->dispatch( $request ); 211 215 $data = $response->get_data(); 212 $this->assertEquals( array( 'a' => 1 ), $data['mycustomsetting'] );216 $this->assertEquals( null, $data['mycustomsetting'] ); 213 217 214 218 unregister_setting( 'somegroup', 'mycustomsetting' ); … … 373 377 } 374 378 379 public function test_update_item_with_nested_object() { 380 register_setting( 'somegroup', 'mycustomsetting', array( 381 'show_in_rest' => array( 382 'schema' => array( 383 'type' => 'object', 384 'properties' => array( 385 'a' => array( 386 'type' => 'object', 387 'properties' => array( 388 'b' => array( 389 'type' => 'number', 390 ), 391 ), 392 ), 393 ), 394 ), 395 ), 396 'type' => 'object', 397 ) ); 398 399 // We have to re-register the route, as the args changes based off registered settings. 400 $this->server->override_by_default = true; 401 $this->endpoint->register_routes(); 402 wp_set_current_user( self::$administrator ); 403 404 $request = new WP_REST_Request( 'PUT', '/wp/v2/settings' ); 405 $request->set_param( 'mycustomsetting', array( 'a' => array( 'b' => 1, 'c' => 1 ) ) ); 406 $response = $this->server->dispatch( $request ); 407 $this->assertErrorResponse( 'rest_invalid_param', $response, 400 ); 408 } 409 375 410 public function test_update_item_with_object() { 376 411 register_setting( 'somegroup', 'mycustomsetting', array( … … 408 443 $this->assertEquals( array(), get_option( 'mycustomsetting' ) ); 409 444 445 // Provide more keys. 446 $request = new WP_REST_Request( 'PUT', '/wp/v2/settings' ); 447 $request->set_param( 'mycustomsetting', array( 'a' => 1, 'b' => 2 ) ); 448 $response = $this->server->dispatch( $request ); 449 450 $this->assertErrorResponse( 'rest_invalid_param', $response, 400 ); 451 410 452 // Setting an invalid object. 411 453 $request = new WP_REST_Request( 'PUT', '/wp/v2/settings' );
Note: See TracChangeset
for help on using the changeset viewer.