diff --git tests/phpunit/testcases/core/caps.php tests/phpunit/testcases/core/caps.php
index a35c39a83..0a124566e 100644
--- tests/phpunit/testcases/core/caps.php
+++ tests/phpunit/testcases/core/caps.php
@@ -5,6 +5,25 @@
  * @group caps
  */
 class BP_Tests_Core_Caps extends BP_UnitTestCase {
+	protected $reset_user_id;
+	protected $blog_id;
+
+	public function setUp() {
+		parent::setUp();
+
+		$this->reset_user_id = get_current_user_id();
+
+		if ( is_multisite() ) {
+			$this->blog_id = self::factory()->blog->create();
+		}
+	}
+
+	public function tearDown() {
+		parent::tearDown();
+
+		$this->set_current_user( $this->reset_user_id );
+	}
+
 	public function test_bp_current_user_can_should_interpret_integer_second_param_as_a_blog_id() {
 		if ( ! is_multisite() ) {
 			$this->markTestSkipped( __METHOD__ . ' requires multisite.' );
@@ -58,4 +77,133 @@ class BP_Tests_Core_Caps extends BP_UnitTestCase {
 		$this->test_args = $args;
 		return $caps;
 	}
+
+	/**
+	 * @group bp_moderate
+	 */
+	public function test_administrator_can_bp_moderate() {
+		$u = self::factory()->user->create(
+			array(
+				'role' => 'administrator',
+			)
+		);
+
+		$this->set_current_user( $u );
+
+		$this->assertTrue( bp_current_user_can( 'bp_moderate' ), 'Administrator can `bp_moderate` on default WordPress config' );
+	}
+
+	/**
+	 * @group bp_moderate
+	 */
+	public function test_administrator_can_bp_moderate_emails() {
+		$u1 = self::factory()->user->create(
+			array(
+				'role' => 'administrator',
+			)
+		);
+		$u2 = self::factory()->user->create(
+			array(
+				'role' => 'administrator',
+			)
+		);
+
+		$this->set_current_user( $u1 );
+
+		$email = self::factory()->post->create(
+			array(
+				'post_type'   => 'bp-email',
+			)
+		);
+
+		$this->assertTrue( current_user_can( 'edit_post', $email ), 'Administrator should be able to edit emails they created' );
+
+		$this->set_current_user( $u2 );
+
+		$this->assertTrue( current_user_can( 'edit_post', $email ), 'Administrator should be able to edit emails others created when BuddyPress is not network activated' );
+	}
+
+	/**
+	 * @group bp_moderate
+	 */
+	public function test_administrator_can_bp_moderate_network_activated() {
+		if ( ! is_multisite() ) {
+			$this->markTestSkipped( __METHOD__ . ' requires multisite.' );
+		}
+
+		$u1 = self::factory()->user->create(
+			array(
+				'role' => 'administrator',
+			)
+		);
+		grant_super_admin( $u1 );
+
+		$u2 = self::factory()->user->create(
+			array(
+				'role' => 'administrator',
+			)
+		);
+
+		add_filter( 'bp_is_network_activated', '__return_true' );
+
+		// Swith & restore to reset the roles.
+		switch_to_blog( $this->blog_id );
+		restore_current_blog();
+
+		$this->set_current_user( $u1 );
+		$this->assertTrue( bp_current_user_can( 'bp_moderate' ), 'Only Super Admins can `bp_moderate` when BuddyPress is network activated' );
+
+		$this->set_current_user( $u2 );
+		$this->assertFalse( bp_current_user_can( 'bp_moderate' ), 'Regular Admins cannot `bp_moderate` when BuddyPress is network activated' );
+
+		grant_super_admin( $u2 );
+		$this->assertTrue( bp_current_user_can( 'bp_moderate' ), 'Only Super Admins can `bp_moderate` when BuddyPress is network activated' );
+
+		remove_filter( 'bp_is_network_activated', '__return_true' );
+	}
+
+	/**
+	 * @group bp_moderate
+	 */
+	public function test_administrator_can_bp_moderate_emails_network_activated() {
+		if ( ! is_multisite() ) {
+			$this->markTestSkipped( __METHOD__ . ' requires multisite.' );
+		}
+
+		$u1 = self::factory()->user->create(
+			array(
+				'role' => 'administrator',
+			)
+		);
+		grant_super_admin( $u1 );
+
+		$u2 = self::factory()->user->create(
+			array(
+				'role' => 'administrator',
+			)
+		);
+
+		$email = self::factory()->post->create(
+			array(
+				'post_type'   => 'bp-email',
+			)
+		);
+
+		add_filter( 'bp_is_network_activated', '__return_true' );
+
+		// Swith & restore to reset the roles.
+		switch_to_blog( $this->blog_id );
+		restore_current_blog();
+
+		$this->set_current_user( $u1 );
+		$this->assertTrue( current_user_can( 'edit_post', $email ), 'Super Admins should be able to edit emails they created' );
+
+		$this->set_current_user( $u2 );
+		$this->assertFalse( current_user_can( 'edit_post', $email ), 'Administrator should not be able to edit emails others created when BuddyPress is network activated' );
+
+		grant_super_admin( $u2 );
+		$this->assertTrue( current_user_can( 'edit_post', $email ), 'Super Admins should be able to edit emails others created' );
+
+		remove_filter( 'bp_is_network_activated', '__return_true' );
+	}
 }
