Changeset 50150 for trunk/tests/phpunit/tests/rest-api/rest-request.php
- Timestamp:
- 02/02/2021 05:26:06 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/rest-api/rest-request.php
r49547 r50150 463 463 } 464 464 465 /** 466 * @ticket 46191 467 */ 468 public function test_sanitize_params_error_multiple_messages() { 469 $this->request->set_url_params( 470 array( 471 'failparam' => '123', 472 ) 473 ); 474 $this->request->set_attributes( 475 array( 476 'args' => array( 477 'failparam' => array( 478 'sanitize_callback' => function () { 479 $error = new WP_Error( 'invalid', 'Invalid.' ); 480 $error->add( 'invalid', 'Super Invalid.' ); 481 $error->add( 'broken', 'Broken.' ); 482 483 return $error; 484 }, 485 ), 486 ), 487 ) 488 ); 489 490 $valid = $this->request->sanitize_params(); 491 $this->assertWPError( $valid ); 492 $data = $valid->get_error_data(); 493 494 $this->assertInternalType( 'array', $data ); 495 $this->assertArrayHasKey( 'params', $data ); 496 $this->assertArrayHasKey( 'failparam', $data['params'] ); 497 $this->assertEquals( 'Invalid. Super Invalid. Broken.', $data['params']['failparam'] ); 498 } 499 500 /** 501 * @ticket 46191 502 */ 503 public function test_sanitize_params_provides_detailed_errors() { 504 $this->request->set_url_params( 505 array( 506 'failparam' => '123', 507 ) 508 ); 509 $this->request->set_attributes( 510 array( 511 'args' => array( 512 'failparam' => array( 513 'sanitize_callback' => function () { 514 return new WP_Error( 'invalid', 'Invalid.', 'mydata' ); 515 }, 516 ), 517 ), 518 ) 519 ); 520 521 $valid = $this->request->sanitize_params(); 522 $this->assertWPError( $valid ); 523 524 $data = $valid->get_error_data(); 525 $this->assertArrayHasKey( 'details', $data ); 526 $this->assertArrayHasKey( 'failparam', $data['details'] ); 527 $this->assertEquals( 528 array( 529 'code' => 'invalid', 530 'message' => 'Invalid.', 531 'data' => 'mydata', 532 ), 533 $data['details']['failparam'] 534 ); 535 } 536 465 537 public function test_sanitize_params_with_null_callback() { 466 538 $this->request->set_url_params( … … 651 723 $this->assertSame( array( 'someinteger', 'someotherparams' ), array_keys( $error_data['params'] ) ); 652 724 $this->assertSame( 'This is not valid!', $error_data['params']['someotherparams'] ); 725 } 726 727 728 /** 729 * @ticket 46191 730 */ 731 public function test_invalid_params_error_multiple_messages() { 732 $this->request->set_url_params( 733 array( 734 'failparam' => '123', 735 ) 736 ); 737 $this->request->set_attributes( 738 array( 739 'args' => array( 740 'failparam' => array( 741 'validate_callback' => function () { 742 $error = new WP_Error( 'invalid', 'Invalid.' ); 743 $error->add( 'invalid', 'Super Invalid.' ); 744 $error->add( 'broken', 'Broken.' ); 745 746 return $error; 747 }, 748 ), 749 ), 750 ) 751 ); 752 753 $valid = $this->request->has_valid_params(); 754 $this->assertWPError( $valid ); 755 $data = $valid->get_error_data(); 756 757 $this->assertInternalType( 'array', $data ); 758 $this->assertArrayHasKey( 'params', $data ); 759 $this->assertArrayHasKey( 'failparam', $data['params'] ); 760 $this->assertEquals( 'Invalid. Super Invalid. Broken.', $data['params']['failparam'] ); 761 } 762 763 /** 764 * @ticket 46191 765 */ 766 public function test_invalid_params_provides_detailed_errors() { 767 $this->request->set_url_params( 768 array( 769 'failparam' => '123', 770 ) 771 ); 772 $this->request->set_attributes( 773 array( 774 'args' => array( 775 'failparam' => array( 776 'validate_callback' => function () { 777 return new WP_Error( 'invalid', 'Invalid.', 'mydata' ); 778 }, 779 ), 780 ), 781 ) 782 ); 783 784 $valid = $this->request->has_valid_params(); 785 $this->assertWPError( $valid ); 786 787 $data = $valid->get_error_data(); 788 $this->assertArrayHasKey( 'details', $data ); 789 $this->assertArrayHasKey( 'failparam', $data['details'] ); 790 $this->assertEquals( 791 array( 792 'code' => 'invalid', 793 'message' => 'Invalid.', 794 'data' => 'mydata', 795 ), 796 $data['details']['failparam'] 797 ); 653 798 } 654 799
Note: See TracChangeset
for help on using the changeset viewer.