diff --git a/tests/phpunit/tests/rest-api/rest-comments-controller.php b/tests/phpunit/tests/rest-api/rest-comments-controller.php
index d1fe7aa34a..478becaa98 100644
--- a/tests/phpunit/tests/rest-api/rest-comments-controller.php
+++ b/tests/phpunit/tests/rest-api/rest-comments-controller.php
@@ -541,6 +541,77 @@ class WP_Test_REST_Comments_Controller extends WP_Test_REST_Controller_Testcase
 		$this->assertErrorResponse( 'rest_cannot_read_post', $response, 401 );
 	}
 
+	// This is a test to show how it currently works, it's for an example only.
+	public function test_get_items_type_arg() {
+		// Authorized admin user.
+		wp_set_current_user( self::$admin_id );
+		$comment_type   = 'foo';
+		$comment_type_2 = 'bar';
+		$args           = array(
+			'comment_approved' => 1,
+			'comment_post_ID'  => self::$post_id,
+			'user_id'          => self::$author_id,
+			'comment_type'     => $comment_type,
+		);
+
+		// Make comments with comment type 'foo'.
+		$this->factory->comment->create_post_comments( self::$post_id, 5, $args );
+		// Make comments with comment type 'bar'.
+		$args['comment_type'] = $comment_type_2;
+		$this->factory->comment->create_post_comments( self::$post_id, 9, $args );
+
+		// Make one more comment with comment type 'comment'.
+		unset( $args['comment_type'] );
+		$this->factory->comment->create( $args ); // This is the comment comment type and brings the total approved comment type comments to two.
+
+		$request = new WP_REST_Request( 'GET', '/wp/v2/comments' );
+
+		// Admin user and no type quereied gets the two comments of comment type 'comment' (the default).
+		$response = rest_get_server()->dispatch( $request );
+		$this->assertEquals( 200, $response->get_status() );
+		$comments = $response->get_data();
+		$headers  = $response->get_headers();
+		$this->assertCount( 2, $comments ); // This is the one approved comment.
+
+		// Admin user comment type 'foo' gets those 5 comments.
+		$request->set_param( 'type', $comment_type );
+		$response = rest_get_server()->dispatch( $request );
+		$this->assertEquals( 200, $response->get_status() );
+		$comments = $response->get_data();
+		$this->assertCount( 5, $comments );
+		$foo_type_ids = wp_list_pluck( $comments, 'id' ); // So we can iterate through them later :) .
+
+		// Admin user comment type 'bar' gets the 9 comments.
+		$request->set_param( 'type', $comment_type_2 );
+		$response = rest_get_server()->dispatch( $request );
+		$this->assertEquals( 200, $response->get_status() );
+		$comments = $response->get_data();
+		$this->assertCount( 9, $comments );
+
+		// Unset the current user.
+		wp_set_current_user( 0 );
+
+		// This should get the comments of comment type 'comment'.
+		$request->set_param( 'type', 'comment' );
+		$response = rest_get_server()->dispatch( $request );
+		$this->assertEquals( 200, $response->get_status() );
+		$comments = $response->get_data();
+		$this->assertCount( 2, $comments );
+
+		// This should throw an error when it tries to get comments of comment type 'foo'.
+		$request->set_param( 'type', $comment_type );
+		$response = rest_get_server()->dispatch( $request );
+		$comments = $response->get_data();
+		$this->assertErrorResponse( 'rest_forbidden_param', $response, 401 );
+
+		// But the unauthenticated user can see them at their individual endpoints.
+		foreach ( $foo_type_ids as $foo_type_id ) {
+			$request  = new WP_REST_Request( 'GET', sprintf( '/wp/v2/comments/%d', $foo_type_id ) );
+			$response = rest_get_server()->dispatch( $request );
+			$this->assertEquals( 200, $response->get_status() );
+		}
+
+	}
 	public function test_get_items_author_arg() {
 		// Authorized
 		wp_set_current_user( self::$admin_id );
