Skip to content

Commit

Permalink
Update admin and super admin user mocking with helper MockAdminUser t…
Browse files Browse the repository at this point in the history
…rait
  • Loading branch information
thelovekesh committed Nov 23, 2022
1 parent de04a69 commit 4dc01a4
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 101 deletions.
16 changes: 3 additions & 13 deletions tests/php/src/Admin/AfterActivationSiteScanTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
use AmpProject\AmpWP\Services;
use AmpProject\AmpWP\Tests\DependencyInjectedTestCase;
use AmpProject\AmpWP\Tests\Helpers\PrivateAccess;
use AmpProject\AmpWP\Tests\Helpers\MockAdminUser;
use AMP_Validation_Manager;

/**
Expand All @@ -28,7 +29,7 @@
*/
class AfterActivationSiteScanTest extends DependencyInjectedTestCase {

use PrivateAccess;
use PrivateAccess, MockAdminUser;

/**
* Test instance.
Expand Down Expand Up @@ -276,18 +277,7 @@ function ( $caps, $cap ) {
* @covers ::get_amp_compatible_plugins_url
*/
public function test_get_amp_compatible_plugins_url() {
if ( is_multisite() ) {
$user_id = self::factory()->user->create(
[
'role' => 'administrator',
]
);

grant_super_admin( $user_id );
wp_set_current_user( $user_id );
} else {
wp_set_current_user( self::factory()->user->create( [ 'role' => 'administrator' ] ) );
}
$this->mock_admin_user();
$this->assertStringContainsString( '/plugin-install.php?tab=amp-compatible', $this->call_private_method( $this->after_activation_site_scan, 'get_amp_compatible_plugins_url' ) );

wp_set_current_user( self::factory()->user->create( [ 'role' => 'author' ] ) );
Expand Down
29 changes: 4 additions & 25 deletions tests/php/src/Admin/ReaderThemesTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
use AmpProject\AmpWP\Option;
use AmpProject\AmpWP\Tests\Helpers\LoadsCoreThemes;
use AmpProject\AmpWP\Tests\Helpers\ThemesApiRequestMocking;
use AmpProject\AmpWP\Tests\Helpers\MockAdminUser;
use AmpProject\AmpWP\Tests\TestCase;
use Closure;
use WP_Error;
Expand All @@ -28,7 +29,7 @@
*/
class ReaderThemesTest extends TestCase {

use ThemesApiRequestMocking, LoadsCoreThemes;
use ThemesApiRequestMocking, LoadsCoreThemes, MockAdminUser;

/**
* Test instance.
Expand Down Expand Up @@ -304,18 +305,7 @@ static function () {
}
);

if ( is_multisite() ) {
$user_id = self::factory()->user->create(
[
'role' => 'administrator',
]
);

grant_super_admin( $user_id );
wp_set_current_user( $user_id );
} else {
wp_set_current_user( self::factory()->user->create( [ 'role' => 'administrator' ] ) );
}
$this->mock_admin_user();

$expected = $get_expected();
$this->assertEquals( $expected, $this->reader_themes->get_theme_availability( $theme ) );
Expand Down Expand Up @@ -356,18 +346,7 @@ static function () {
$this->assertFalse( $this->reader_themes->can_install_theme( $core_theme ) );
$this->assertFalse( $this->reader_themes->can_install_theme( $neve_theme ) );

if ( is_multisite() ) {
$user_id = self::factory()->user->create(
[
'role' => 'administrator',
]
);

grant_super_admin( $user_id );
wp_set_current_user( $user_id );
} else {
wp_set_current_user( self::factory()->user->create( [ 'role' => 'administrator' ] ) );
}
$this->mock_admin_user();
$this->assertTrue( $this->reader_themes->can_install_theme( $core_theme ) );
$this->assertTrue( $this->reader_themes->can_install_theme( $neve_theme ) );

Expand Down
15 changes: 3 additions & 12 deletions tests/php/src/Admin/SiteHealthTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
use AmpProject\AmpWP\QueryVar;
use AmpProject\AmpWP\Tests\Helpers\HomeUrlLoopbackRequestMocking;
use AmpProject\AmpWP\Tests\Helpers\PrivateAccess;
use AmpProject\AmpWP\Tests\Helpers\MockAdminUser;
use AmpProject\AmpWP\Tests\TestCase;
use WP_REST_Server;
use WP_Error;
Expand All @@ -28,6 +29,7 @@ class SiteHealthTest extends TestCase {

use HomeUrlLoopbackRequestMocking;
use PrivateAccess;
use MockAdminUser;

/**
* Whether external object cache is being used.
Expand Down Expand Up @@ -139,18 +141,7 @@ public function test_register_async_test_endpoints() {
$this->assertFalse( call_user_func( $route['permission_callback'] ) );

// Prior to WordPress 5.2, the view_site_health_checks cap didn't exist because Site Health didn't exist.
if ( is_multisite() ) {
$user_id = self::factory()->user->create(
[
'role' => 'administrator',
]
);

grant_super_admin( $user_id );
wp_set_current_user( $user_id );
} else {
wp_set_current_user( self::factory()->user->create( [ 'role' => 'administrator' ] ) );
}
$this->mock_admin_user();

if ( version_compare( get_bloginfo( 'version' ), '5.2', '>=' ) ) {
$this->assertTrue( call_user_func( $route['permission_callback'] ) );
Expand Down
16 changes: 4 additions & 12 deletions tests/php/src/Admin/SupportLinkTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
use AMP_Validation_Manager;
use AMP_Theme_Support;
use AMP_Validated_URL_Post_Type;
use AmpProject\AmpWP\Tests\Helpers\MockAdminUser;
use AmpProject\AmpWP\Tests\TestCase;

/**
Expand All @@ -23,6 +24,8 @@
*/
class SupportLinkTest extends TestCase {

use MockAdminUser;

/**
* Instance of SupportLink
*
Expand Down Expand Up @@ -65,18 +68,7 @@ public function test_is_needed() {
$this->assertFalse( SupportLink::is_needed() );

// Test 2: Test with admin user.
if ( is_multisite() ) {
$user_id = self::factory()->user->create(
[
'role' => 'administrator',
]
);

grant_super_admin( $user_id );
wp_set_current_user( $user_id );
} else {
wp_set_current_user( self::factory()->user->create( [ 'role' => 'administrator' ] ) );
}
$this->mock_admin_user();

$this->assertTrue( SupportLink::is_needed() );
}
Expand Down
16 changes: 3 additions & 13 deletions tests/php/src/Admin/SupportScreenTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
use AmpProject\AmpWP\Infrastructure\Registerable;
use AmpProject\AmpWP\Infrastructure\Service;
use AmpProject\AmpWP\Tests\DependencyInjectedTestCase;
use AmpProject\AmpWP\Tests\Helpers\MockAdminUser;
use AmpProject\AmpWP\Tests\Helpers\HomeUrlLoopbackRequestMocking;

/**
Expand All @@ -25,7 +26,7 @@
*/
class SupportScreenTest extends DependencyInjectedTestCase {

use HomeUrlLoopbackRequestMocking;
use HomeUrlLoopbackRequestMocking, MockAdminUser;

/**
* Instance of SupportMenu
Expand Down Expand Up @@ -119,18 +120,7 @@ public function test_is_needed() {
$this->assertFalse( SupportScreen::has_cap() );

// Mock the is_admin() with required user caps.
if ( is_multisite() ) {
$user_id = self::factory()->user->create(
[
'role' => 'administrator',
]
);

grant_super_admin( $user_id );
wp_set_current_user( $user_id );
} else {
wp_set_current_user( self::factory()->user->create( [ 'role' => 'administrator' ] ) );
}
$this->mock_admin_user();

$this->assertFalse( SupportScreen::is_needed() );
$this->assertTrue( SupportScreen::has_cap() );
Expand Down
16 changes: 3 additions & 13 deletions tests/php/src/ReaderThemeLoaderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@
use AmpProject\AmpWP\Option;
use AmpProject\AmpWP\ReaderThemeLoader;
use AmpProject\AmpWP\Tests\Helpers\LoadsCoreThemes;
use AmpProject\AmpWP\Tests\Helpers\MockAdminUser;
use WP_Customize_Manager;
use WP_Customize_Panel;
use WP_Theme;

/** @coversDefaultClass \AmpProject\AmpWP\ReaderThemeLoader */
final class ReaderThemeLoaderTest extends DependencyInjectedTestCase {

use LoadsCoreThemes;
use LoadsCoreThemes, MockAdminUser;

/** @var ReaderThemeLoader */
private $instance;
Expand Down Expand Up @@ -152,18 +153,7 @@ public function test_filter_wp_prepare_themes_to_indicate_reader_theme() {
$this->assertEquals( $active_theme_slug, get_stylesheet() );
$this->assertEquals( $reader_theme_slug, $this->instance->get_reader_theme()->get_stylesheet() );

if ( is_multisite() ) {
$user_id = self::factory()->user->create(
[
'role' => 'administrator',
]
);

grant_super_admin( $user_id );
wp_set_current_user( $user_id );
} else {
wp_set_current_user( self::factory()->user->create( [ 'role' => 'administrator' ] ) );
}
$this->mock_admin_user();

// Note that this is added via filter and not called directly because the filtered value is keyed by theme slug,
// but the return value of wp_prepare_themes_for_js() is keyed with numeric indices.
Expand Down
16 changes: 3 additions & 13 deletions tests/php/test-amp-helper-functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
use AmpProject\AmpWP\Tests\Helpers\HandleValidation;
use AmpProject\AmpWP\Tests\Helpers\LoadsCoreThemes;
use AmpProject\AmpWP\Tests\Helpers\PrivateAccess;
use AmpProject\AmpWP\Tests\Helpers\MockAdminUser;
use AmpProject\AmpWP\Tests\DependencyInjectedTestCase;
use AmpProject\AmpWP\AmpSlugCustomizationWatcher;

Expand All @@ -21,6 +22,7 @@ class Test_AMP_Helper_Functions extends DependencyInjectedTestCase {
use HandleValidation;
use LoadsCoreThemes;
use PrivateAccess;
use MockAdminUser;

/**
* The mock Site Icon value to use in a filter.
Expand Down Expand Up @@ -1963,19 +1965,7 @@ function ( $xpaths ) use ( $element_xpaths ) {
remove_filter( 'amp_dev_mode_enabled', '__return_true' );

// Check that AMP_Dev_Mode_Sanitizer is registered once in dev mode, and now also with admin bar showing.
if ( is_multisite() ) {
$user_id = self::factory()->user->create(
[
'role' => 'administrator',
]
);

// Make sure the user is a super admin, for `unfiltered_html` capability.
grant_super_admin( $user_id );
wp_set_current_user( $user_id );
} else {
wp_set_current_user( self::factory()->user->create( [ 'role' => 'administrator' ] ) );
}
$this->mock_admin_user();
add_filter( 'amp_dev_mode_enabled', '__return_true' );
add_filter( 'show_admin_bar', '__return_true' );
$sanitizers = amp_get_content_sanitizers();
Expand Down

0 comments on commit 4dc01a4

Please sign in to comment.