diff --git tests/phpunit/testcases/groups/class-bp-groups-member.php tests/phpunit/testcases/groups/class-bp-groups-member.php
index 7608130..5b1d319 100644
--- tests/phpunit/testcases/groups/class-bp-groups-member.php
+++ tests/phpunit/testcases/groups/class-bp-groups-member.php
@@ -25,6 +25,18 @@ class BP_Tests_BP_Groups_Member_TestCases extends BP_UnitTestCase {
 		return $invite->id;
 	}
 
+	public static function create_group_membership_request( $user_id, $group_id ) {
+		$request                = new BP_Groups_Member;
+		$request->group_id      = $group_id;
+		$request->user_id       = $user_id;
+		$request->date_modified = bp_core_current_time();
+		$request->inviter_id    = 0;
+		$request->is_confirmed  = 0;
+
+		$request->save();
+		return $request->id;
+	}
+
 	public function test_get_recently_joined_with_filter() {
 		$g1 = $this->factory->group->create( array(
 			'name' => 'Tab',
@@ -223,5 +235,125 @@ class BP_Tests_BP_Groups_Member_TestCases extends BP_UnitTestCase {
 
 		$this->set_current_user( $old_current_user );
 	}
+
+	/**
+	 * @group groups_reject_membership_request
+	 */
+	public function test_bp_groups_reject_membership_request_remove_request() {
+		$u1 = $this->factory->user->create();
+		$g = $this->factory->group->create( array(
+			'status' => 'private',
+		) );
+
+		// Membership requests should be removed.
+		self::create_group_membership_request( $u1, $g );
+		groups_reject_membership_request( null, $u1, $g );
+		$u1_has_request = groups_check_for_membership_request( $u1, $g );
+		$this->assertEquals( $u1_has_request, 0 );
+	}
+
+	/**
+	 * @group groups_delete_membership_request
+	 */
+	public function test_bp_groups_delete_membership_request_remove_request() {
+		$u1 = $this->factory->user->create();
+		$g = $this->factory->group->create( array(
+			'status' => 'private',
+		) );
+
+		// Membership requests should be removed.
+		self::create_group_membership_request( $u1, $g );
+		groups_delete_membership_request( null, $u1, $g );
+		$u1_has_request = groups_check_for_membership_request( $u1, $g );
+		$this->assertEquals( $u1_has_request, 0 );
+	}
+
+	/**
+	 * @group groups_reject_invite
+	 */
+	public function test_bp_groups_reject_invite_remove_invite() {
+		$u1 = $this->factory->user->create();
+		$u2 = $this->factory->user->create();
+		$g = $this->factory->group->create( array(
+			'status' => 'private',
+		) );
+
+		$now = time();
+		$this->add_user_to_group( $u1, $g, array(
+			'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ),
+		) );
+
+		// The invitation should be removed.
+		self::invite_user_to_group( $u2, $g, $u1 );
+		groups_reject_invite( $u2, $g );
+		$u2_has_invite = groups_check_user_has_invite( $u2, $g );
+		$this->assertEquals( $u2_has_invite, 0 );
+	}
+
+	/**
+	 * @group groups_delete_invite
+	 */
+	public function test_bp_groups_delete_invite_remove_invite() {
+		$u1 = $this->factory->user->create();
+		$u2 = $this->factory->user->create();
+		$g = $this->factory->group->create( array(
+			'status' => 'private',
+		) );
+
+		$now = time();
+		$this->add_user_to_group( $u1, $g, array(
+			'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ),
+		) );
+
+		// The invitation should be removed.
+		self::invite_user_to_group( $u2, $g, $u1 );
+		groups_delete_invite( $u2, $g );
+		$u2_has_invite = groups_check_user_has_invite( $u2, $g );
+		$this->assertEquals( $u2_has_invite, 0 );
+	}
+
+	/**
+	 * @group groups_delete_invite
+	 */
+	public function test_bp_groups_delete_invite_leave_memberships_intact() {
+		$u1 = $this->factory->user->create();
+		$g = $this->factory->group->create( array(
+			'status' => 'private',
+		) );
+
+		$now = time();
+		$this->add_user_to_group( $u1, $g, array(
+			'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ),
+		) );
+
+		// Confirmed memberships should be left intact.
+		$u1_is_member_before = groups_is_user_member( $u1, $g );
+		groups_delete_invite( $u1, $g );
+		$u1_is_member_after = groups_is_user_member( $u1, $g );
+		// If nothing changed, the before and after values will be the same.
+		$this->assertEquals( $u1_is_member_before, $u1_is_member_after );
+	}
+
+	/**
+	 * @group groups_uninvite_user
+	 */
+	public function test_bp_groups_uninvite_user_remove_invite() {
+		$u1 = $this->factory->user->create();
+		$u2 = $this->factory->user->create();
+		$g = $this->factory->group->create( array(
+			'status' => 'private',
+		) );
+
+		$now = time();
+		$this->add_user_to_group( $u1, $g, array(
+			'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ),
+		) );
+
+		// The invitation should be removed.
+		self::invite_user_to_group( $u2, $g, $u1 );
+		groups_uninvite_user( $u2, $g );
+		$u2_has_invite = groups_check_user_has_invite( $u2, $g );
+		$this->assertEquals( $u2_has_invite, 0 );
+	}
 }
 
