diff --git a/tests/search_api_test/src/Plugin/search_api/tracker/TestTracker.php b/tests/search_api_test/src/Plugin/search_api/tracker/TestTracker.php
index eee1030f..02a4ac5c 100644
--- a/tests/search_api_test/src/Plugin/search_api/tracker/TestTracker.php
+++ b/tests/search_api_test/src/Plugin/search_api/tracker/TestTracker.php
@@ -14,6 +14,7 @@
  * @SearchApiTracker(
  *   id = "search_api_test",
  *   label = @Translation("Test tracker"),
+ *   description = @Translation("This is the test tracker plugin description."),
  * )
  */
 class TestTracker extends TrackerPluginBase implements PluginFormInterface {
diff --git a/tests/src/Functional/IntegrationTest.php b/tests/src/Functional/IntegrationTest.php
index 3ec4191b..7272b04e 100644
--- a/tests/src/Functional/IntegrationTest.php
+++ b/tests/src/Functional/IntegrationTest.php
@@ -273,11 +273,20 @@ protected function createIndex() {
 
     $this->drupalGet($settings_path);
     $this->assertSession()->statusCodeEquals(200);
+
+    // Make sure datasource and tracker plugin descriptions are displayed.
+    $dummy_index = Index::create();
+    foreach (['datasource', 'tracker'] as $plugin_type) {
+      foreach ($dummy_index->createPlugins($plugin_type) as $plugin) {
+        $this->assertSession()->pageTextContains($plugin->getDescription());
+      }
+    }
+
+    // Test form validation (required fields).
     $edit = [
       'status' => 1,
       'description' => $index_description,
     ];
-
     $this->submitForm($edit, 'Save');
     $this->assertSession()->pageTextContains('Index name field is required.');
     $this->assertSession()->pageTextContains('Machine-readable name field is required.');
