wordpress-develop/tests/phpunit/tests/link/getDashboardUrl.php
Sergey Biryukov 9fd3f595b1 Tests: Add missing @covers tags for files in phpunit/tests/link/.
Props sephsekla, jrf.
See #39265.

git-svn-id: https://develop.svn.wordpress.org/trunk@50454 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-28 17:09:39 +00:00

77 lines
1.9 KiB
PHP

<?php
/**
* @group link
* @covers ::get_dashboard_url
*/
class Tests_Link_GetDashboardUrl extends WP_UnitTestCase {
public static $user_id = false;
public static function wpSetUpBeforeClass( WP_UnitTest_Factory $factory ) {
self::$user_id = $factory->user->create( array( 'role' => 'administrator' ) );
}
public static function wpTearDownAfterClass() {
if ( is_multisite() ) {
wpmu_delete_user( self::$user_id );
} else {
wp_delete_user( self::$user_id );
}
}
/**
* @ticket 39065
*/
public function test_get_dashboard_url_for_current_site_user() {
$this->assertSame( admin_url(), get_dashboard_url( self::$user_id ) );
}
/**
* @ticket 39065
*/
public function test_get_dashboard_url_for_user_with_no_sites() {
add_filter( 'get_blogs_of_user', '__return_empty_array' );
$expected = is_multisite() ? user_admin_url() : admin_url();
$this->assertSame( $expected, get_dashboard_url( self::$user_id ) );
}
/**
* @ticket 39065
* @group ms-required
*/
public function test_get_dashboard_url_for_network_administrator_with_no_sites() {
grant_super_admin( self::$user_id );
add_filter( 'get_blogs_of_user', '__return_empty_array' );
$expected = admin_url();
$result = get_dashboard_url( self::$user_id );
revoke_super_admin( self::$user_id );
$this->assertSame( $expected, $result );
}
/**
* @ticket 39065
* @group ms-required
*/
public function test_get_dashboard_url_for_administrator_of_different_site() {
$site_id = self::factory()->blog->create( array( 'user_id' => self::$user_id ) );
remove_user_from_blog( self::$user_id, get_current_blog_id() );
$expected = get_admin_url( $site_id );
$result = get_dashboard_url( self::$user_id );
remove_user_from_blog( self::$user_id, $site_id );
add_user_to_blog( get_current_blog_id(), self::$user_id, 'administrator' );
wp_delete_site( $site_id );
$this->assertSame( $expected, $result );
}
}