Files
wordpress-develop/tests/phpunit/tests/ajax/AddMeta.php
T
Sergey Biryukov 164b22cf6a Tests: First pass at using assertSame() instead of assertEquals() in most of the unit tests.
This ensures that not only the return values match the expected results, but also that their type is the same.

Going forward, stricter type checking by using `assertSame()` should generally be preferred to `assertEquals()` where appropriate, to make the tests more reliable.

Props johnbillion, jrf, SergeyBiryukov.
See #38266.

git-svn-id: https://develop.svn.wordpress.org/trunk@48937 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-02 00:35:36 +00:00

72 lines
1.5 KiB
PHP

<?php
/**
* Admin Ajax functions to be tested.
*/
require_once ABSPATH . 'wp-admin/includes/ajax-actions.php';
/**
* Testing Add Meta AJAX functionality.
*
* @group ajax
*/
class Tests_Ajax_AddMeta extends WP_Ajax_UnitTestCase {
/**
* @ticket 43559
*/
public function test_post_add_meta_empty_is_allowed_ajax() {
$p = self::factory()->post->create();
// Become an administrator.
$this->_setRole( 'administrator' );
$_POST = array(
'post_id' => $p,
'metakeyinput' => 'testkey',
'metavalue' => '',
'_ajax_nonce-add-meta' => wp_create_nonce( 'add-meta' ),
);
// Make the request.
try {
$this->_handleAjax( 'add-meta' );
} catch ( WPAjaxDieContinueException $e ) {
unset( $e );
}
$this->assertSame( '', get_post_meta( $p, 'testkey', true ) );
}
/**
* @ticket 43559
*/
public function test_post_update_meta_empty_is_allowed_ajax() {
$p = self::factory()->post->create();
$m = add_post_meta( $p, 'testkey', 'hello' );
// Become an administrator.
$this->_setRole( 'administrator' );
$_POST = array(
'_ajax_nonce-add-meta' => wp_create_nonce( 'add-meta' ),
'post_id' => $p,
'meta' => array(
$m => array(
'key' => 'testkey',
'value' => '',
),
),
);
// Make the request.
try {
$this->_handleAjax( 'add-meta' );
} catch ( WPAjaxDieContinueException $e ) {
unset( $e );
}
$this->assertSame( '', get_post_meta( $p, 'testkey', true ) );
}
}