diff --git a/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_add_dropdown_spec.js b/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_add_dropdown_spec.js
index cd13de5197a5a9dbc3c56ab32932d6d204cb816a..f1cac7dd72105a25ec3d070f8c09416fa2a8b59a 100644
--- a/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_add_dropdown_spec.js
+++ b/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_add_dropdown_spec.js
@@ -65,7 +65,7 @@ describe('DevopsAdoptionAddDropdown', () => {
       },
       provide,
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       stubs: {
         GlDropdown,
diff --git a/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_overview_table_spec.js b/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_overview_table_spec.js
index 944ce8e2f8a5a9f01c2249e11c793589503a2fd0..ad32fa44cfed008aad5320aaaa79f90bfc0433ce 100644
--- a/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_overview_table_spec.js
+++ b/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_overview_table_spec.js
@@ -27,8 +27,8 @@ describe('DevopsAdoptionOverviewTable', () => {
       },
       provide,
       directives: {
-        GlTooltip: createMockDirective(),
-        GlModal: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
+        GlModal: createMockDirective('gl-modal'),
       },
     });
   };
diff --git a/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_table_cell_flag_spec.js b/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_table_cell_flag_spec.js
index 8da7e12a321d7f2b596cdc4e91e2184a5809b7c1..0414c73fce713b4c74ffbc621c63fc6ea23716cd 100644
--- a/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_table_cell_flag_spec.js
+++ b/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_table_cell_flag_spec.js
@@ -13,7 +13,7 @@ describe('DevopsAdoptionTableCellFlag', () => {
         ...props,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_table_spec.js b/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_table_spec.js
index c3d86edbc20c4d70c773576adb6a528080d649d2..5848b229c7ddbfc9b640f7a8ff43ce7334d23662 100644
--- a/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_table_spec.js
+++ b/ee/spec/frontend/analytics/devops_reports/devops_adoption/components/devops_adoption_table_spec.js
@@ -26,7 +26,7 @@ describe('DevopsAdoptionTable', () => {
       },
       provide,
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/ee/spec/frontend/approvals/components/hidden_groups_item_spec.js b/ee/spec/frontend/approvals/components/hidden_groups_item_spec.js
index 0b027f5b6fd4ecca5700a9fd541beae869896043..33dd6368c12e0d8725ee47d4eccd42d4e49bf2a3 100644
--- a/ee/spec/frontend/approvals/components/hidden_groups_item_spec.js
+++ b/ee/spec/frontend/approvals/components/hidden_groups_item_spec.js
@@ -16,7 +16,7 @@ describe('Approvals HiddenGroupsItem', () => {
       shallowMount(HiddenGroupsItem, {
         ...options,
         directives: {
-          GlTooltip: createMockDirective(),
+          GlTooltip: createMockDirective('gl-tooltip'),
         },
       }),
     );
diff --git a/ee/spec/frontend/ci/runner/components/runner_upgrade_status_icon_spec.js b/ee/spec/frontend/ci/runner/components/runner_upgrade_status_icon_spec.js
index aa32b2f206ed2fd25cf4999a81a097bd88a0ac62..d6dda2804da48d25b635b214840f92c164a09fa9 100644
--- a/ee/spec/frontend/ci/runner/components/runner_upgrade_status_icon_spec.js
+++ b/ee/spec/frontend/ci/runner/components/runner_upgrade_status_icon_spec.js
@@ -26,7 +26,7 @@ describe('RunnerUpgradeStatusIcon', () => {
         },
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       provide: {
         glFeatures,
diff --git a/ee/spec/frontend/ci/runner/components/stat/runner_performance_stat_spec.js b/ee/spec/frontend/ci/runner/components/stat/runner_performance_stat_spec.js
index 2659d3e5089ebd585f5d9811e4964e85e1b2d668..d689c3dcb566a28e9643f525ce0f5c7a784931ed 100644
--- a/ee/spec/frontend/ci/runner/components/stat/runner_performance_stat_spec.js
+++ b/ee/spec/frontend/ci/runner/components/stat/runner_performance_stat_spec.js
@@ -18,7 +18,7 @@ describe('RunnerPerformanceStat', () => {
         ...props,
       },
       directives: {
-        GlModal: createMockDirective(),
+        GlModal: createMockDirective('gl-modal'),
       },
       ...options,
     });
diff --git a/ee/spec/frontend/external_issues_show/components/sidebar/issue_field_spec.js b/ee/spec/frontend/external_issues_show/components/sidebar/issue_field_spec.js
index 2623b1fb3484626f778b88cfb63ad42eec00c004..d47d64d8ddc79db4f48357466b797818ca0154c1 100644
--- a/ee/spec/frontend/external_issues_show/components/sidebar/issue_field_spec.js
+++ b/ee/spec/frontend/external_issues_show/components/sidebar/issue_field_spec.js
@@ -18,7 +18,7 @@ describe('IssueField', () => {
   const createComponent = ({ props = {}, provide = {} } = {}) => {
     wrapper = shallowMountExtended(IssueField, {
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       propsData: { ...defaultProps, ...props },
       stubs: {
diff --git a/ee/spec/frontend/geo_replicable/components/geo_replicable_filter_bar_spec.js b/ee/spec/frontend/geo_replicable/components/geo_replicable_filter_bar_spec.js
index 86320ff98a46b89f71ce97b3f6fbdd294872f50a..e509b00faa3341d92ad8f06c12f211ea7712cfa7 100644
--- a/ee/spec/frontend/geo_replicable/components/geo_replicable_filter_bar_spec.js
+++ b/ee/spec/frontend/geo_replicable/components/geo_replicable_filter_bar_spec.js
@@ -28,7 +28,7 @@ describe('GeoReplicableFilterBar', () => {
     wrapper = shallowMount(GeoReplicableFilterBar, {
       store: fakeStore,
       directives: {
-        GlModalDirective: createMockDirective(),
+        GlModalDirective: createMockDirective('gl-modal-directive'),
       },
     });
   };
diff --git a/ee/spec/frontend/groups/settings/compliance_frameworks/components/table_actions_spec.js b/ee/spec/frontend/groups/settings/compliance_frameworks/components/table_actions_spec.js
index bc79ac754ca7ac533da80ec947261c707b07cf7f..a75bd434c8b4a4c61e67d0d550fd5b52553b94b6 100644
--- a/ee/spec/frontend/groups/settings/compliance_frameworks/components/table_actions_spec.js
+++ b/ee/spec/frontend/groups/settings/compliance_frameworks/components/table_actions_spec.js
@@ -31,7 +31,7 @@ describe('TableActions', () => {
           ...props,
         },
         directives: {
-          GlTooltip: createMockDirective(),
+          GlTooltip: createMockDirective('gl-tooltip'),
         },
       }),
     );
diff --git a/ee/spec/frontend/integrations/zentao/issues_show/components/zentao_issues_show_root_spec.js b/ee/spec/frontend/integrations/zentao/issues_show/components/zentao_issues_show_root_spec.js
index f7f02b5ff161c1b1ccc55581b03e60f6e60ec1b2..b96611835a6eb157b7c691ed70419fd5651c2be9 100644
--- a/ee/spec/frontend/integrations/zentao/issues_show/components/zentao_issues_show_root_spec.js
+++ b/ee/spec/frontend/integrations/zentao/issues_show/components/zentao_issues_show_root_spec.js
@@ -31,7 +31,7 @@ describe('ZentaoIssuesShow', () => {
   const createComponent = () => {
     wrapper = shallowMountExtended(ZentaoIssuesShow, {
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       stubs: {
         IssuableHeader,
diff --git a/ee/spec/frontend/oncall_schedule/oncall_schedule_wrapper_spec.js b/ee/spec/frontend/oncall_schedule/oncall_schedule_wrapper_spec.js
index a14b75075e016fc46be281224b78954df26e54a9..030bbaf49bf501fa4dbf08727c5dcaa869ae7b4e 100644
--- a/ee/spec/frontend/oncall_schedule/oncall_schedule_wrapper_spec.js
+++ b/ee/spec/frontend/oncall_schedule/oncall_schedule_wrapper_spec.js
@@ -52,7 +52,7 @@ describe('On-call schedule wrapper', () => {
         accessLevelDescriptionPath,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       mocks: { $apollo },
       stubs: {
diff --git a/ee/spec/frontend/oncall_schedule/schedule/components/rotations_list_section_spec.js b/ee/spec/frontend/oncall_schedule/schedule/components/rotations_list_section_spec.js
index 3b330c1626ceb0a61f7131e30bf334e08f6fb853..6efe4fe1da666857abe596bf50e1a2e8ea4ab215 100644
--- a/ee/spec/frontend/oncall_schedule/schedule/components/rotations_list_section_spec.js
+++ b/ee/spec/frontend/oncall_schedule/schedule/components/rotations_list_section_spec.js
@@ -38,7 +38,7 @@ describe('RotationsListSectionComponent', () => {
           GlCard,
         },
         directives: {
-          GlTooltip: createMockDirective(),
+          GlTooltip: createMockDirective('gl-tooltip'),
         },
       }),
     );
diff --git a/ee/spec/frontend/related_items_tree/components/issue_health_status_spec.js b/ee/spec/frontend/related_items_tree/components/issue_health_status_spec.js
index cd096b2c677f9fa5e0da4c63bac452a6ca724e8a..f655cef50ccb076e3b3d1977741e92d5532113a4 100644
--- a/ee/spec/frontend/related_items_tree/components/issue_health_status_spec.js
+++ b/ee/spec/frontend/related_items_tree/components/issue_health_status_spec.js
@@ -15,7 +15,7 @@ describe('IssueHealthStatus', () => {
   const createComponent = () =>
     shallowMountExtended(IssueHealthStatus, {
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       propsData: {
         healthStatus,
diff --git a/ee/spec/frontend/roadmap/components/milestones_list_section_spec.js b/ee/spec/frontend/roadmap/components/milestones_list_section_spec.js
index b3dc82f975fb10fd9b14d82f655c56725f89cd9b..aef2a4cdd49502b96b546131440cedd24cf3a0cc 100644
--- a/ee/spec/frontend/roadmap/components/milestones_list_section_spec.js
+++ b/ee/spec/frontend/roadmap/components/milestones_list_section_spec.js
@@ -70,7 +70,7 @@ describe('MilestonesListSectionComponent', () => {
         ...props,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/ee/spec/frontend/security_configuration/dast_profiles/components/dast_profiles_list_spec.js b/ee/spec/frontend/security_configuration/dast_profiles/components/dast_profiles_list_spec.js
index 80dc65ad9c4ff1f5c32bd2a3df2bd4fb48d35afb..a28b7fe8a0fb0ccb53a1b7e09f19cc350ca6b7f4 100644
--- a/ee/spec/frontend/security_configuration/dast_profiles/components/dast_profiles_list_spec.js
+++ b/ee/spec/frontend/security_configuration/dast_profiles/components/dast_profiles_list_spec.js
@@ -35,7 +35,7 @@ describe('EE - DastProfilesList', () => {
         options,
         {
           directives: {
-            GlTooltip: createMockDirective(),
+            GlTooltip: createMockDirective('gl-tooltip'),
           },
         },
       ),
diff --git a/ee/spec/frontend/security_configuration/dast_profiles/components/dast_scan_schedule_spec.js b/ee/spec/frontend/security_configuration/dast_profiles/components/dast_scan_schedule_spec.js
index d37419c266a70043e93322e60ecaf486056b6493..f61d6199415dc8364a506c816ec6146a934323bd 100644
--- a/ee/spec/frontend/security_configuration/dast_profiles/components/dast_scan_schedule_spec.js
+++ b/ee/spec/frontend/security_configuration/dast_profiles/components/dast_scan_schedule_spec.js
@@ -15,7 +15,7 @@ describe('EE - DastScanSchedule', () => {
         schedule,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/ee/spec/frontend/security_configuration/dast_profiles/dast_profile_selector/dast_profile_summary_card_spec.js b/ee/spec/frontend/security_configuration/dast_profiles/dast_profile_selector/dast_profile_summary_card_spec.js
index 71abf124de316bd46ce8f82546438170587cc388..71b670afecddfa19e7ef07c7327177de9d264959 100644
--- a/ee/spec/frontend/security_configuration/dast_profiles/dast_profile_selector/dast_profile_summary_card_spec.js
+++ b/ee/spec/frontend/security_configuration/dast_profiles/dast_profile_selector/dast_profile_summary_card_spec.js
@@ -18,7 +18,7 @@ describe('DastProfileSummaryCard', () => {
       propsData,
       stubs: { GlCard },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       ...options,
     });
diff --git a/ee/spec/frontend/security_configuration/dast_profiles/dast_scanner_profiles_form/components/tooltip_icon_spec.js b/ee/spec/frontend/security_configuration/dast_profiles/dast_scanner_profiles_form/components/tooltip_icon_spec.js
index 941f4955d2f6f0b5cf2c92893ffbae1c2c6694a2..054d71a7a68753215febf2b118d2687dcfa6a4bc 100644
--- a/ee/spec/frontend/security_configuration/dast_profiles/dast_scanner_profiles_form/components/tooltip_icon_spec.js
+++ b/ee/spec/frontend/security_configuration/dast_profiles/dast_scanner_profiles_form/components/tooltip_icon_spec.js
@@ -16,7 +16,7 @@ describe('Tooltip Icon', () => {
         ...props,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/ee/spec/frontend/security_dashboard/components/shared/filters/filter_item_spec.js b/ee/spec/frontend/security_dashboard/components/shared/filters/filter_item_spec.js
index dee218701ff25a10fe93252b697f03b8a5a8aab1..af478dbdad4aecd223cda16cd9be6399a788be20 100644
--- a/ee/spec/frontend/security_dashboard/components/shared/filters/filter_item_spec.js
+++ b/ee/spec/frontend/security_dashboard/components/shared/filters/filter_item_spec.js
@@ -16,7 +16,7 @@ describe('Filter Item component', () => {
       propsData: { ...defaultProps, ...props },
       slots: { default: slotContent },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/ee/spec/frontend/security_dashboard/components/shared/filters/image_filter_spec.js b/ee/spec/frontend/security_dashboard/components/shared/filters/image_filter_spec.js
index e393ef738644f9e524201c2b9fca4826c8a29fac..505e07587b3f6b6cb23e359b4de82484f7ea0012 100644
--- a/ee/spec/frontend/security_dashboard/components/shared/filters/image_filter_spec.js
+++ b/ee/spec/frontend/security_dashboard/components/shared/filters/image_filter_spec.js
@@ -40,7 +40,7 @@ describe('ImageFilter component', () => {
         [projectImagesQuery, projectQueryResolver],
       ]),
       provide: { projectFullPath, ...provide },
-      directives: { GlTooltip: createMockDirective() },
+      directives: { GlTooltip: createMockDirective('gl-tooltip') },
       stubs: { QuerystringSync: true },
     });
   };
diff --git a/ee/spec/frontend/vue_shared/components/security_reports/severity_badge_spec.js b/ee/spec/frontend/vue_shared/components/security_reports/severity_badge_spec.js
index 26a4fa051d618fa7b949cc391748b44dbbdaea8f..b3dac1fb9273e74a7ff9dec4f2ccb3097d4c1e12 100644
--- a/ee/spec/frontend/vue_shared/components/security_reports/severity_badge_spec.js
+++ b/ee/spec/frontend/vue_shared/components/security_reports/severity_badge_spec.js
@@ -16,7 +16,7 @@ describe('Severity Badge', () => {
     wrapper = shallowMount(SeverityBadge, {
       propsData: { ...propsData },
       directives: {
-        tooltip: createMockDirective(),
+        tooltip: createMockDirective('tooltip'),
       },
     });
   };
diff --git a/ee/spec/frontend/vulnerabilities/issue_link_spec.js b/ee/spec/frontend/vulnerabilities/issue_link_spec.js
index 1941979167492d3923a12d0252d6aafda9da3603..ce9499b12548dcdaf5b6c92104c8c3dc4fd3df4d 100644
--- a/ee/spec/frontend/vulnerabilities/issue_link_spec.js
+++ b/ee/spec/frontend/vulnerabilities/issue_link_spec.js
@@ -19,7 +19,7 @@ describe('IssueLink component', () => {
       shallowMount(IssueLink, {
         propsData,
         directives: {
-          GlTooltip: createMockDirective(),
+          GlTooltip: createMockDirective('gl-tooltip'),
         },
         // this allows us to retrieve the rendered text
         stubs: { GlSprintf },
diff --git a/spec/frontend/__helpers__/vue_mock_directive.js b/spec/frontend/__helpers__/vue_mock_directive.js
index e952f258c4de2dd2d08b1d0e0d7b8affac23cba0..e7a2aa7f10d68f12e4ce686a42b2e194cc89f1e9 100644
--- a/spec/frontend/__helpers__/vue_mock_directive.js
+++ b/spec/frontend/__helpers__/vue_mock_directive.js
@@ -2,7 +2,7 @@ export const getKey = (name) => `$_gl_jest_${name}`;
 
 export const getBinding = (el, name) => el[getKey(name)];
 
-const writeBindingToElement = (el, { name, value, arg, modifiers }) => {
+const writeBindingToElement = (el, name, { value, arg, modifiers }) => {
   el[getKey(name)] = {
     value,
     arg,
@@ -10,16 +10,24 @@ const writeBindingToElement = (el, { name, value, arg, modifiers }) => {
   };
 };
 
-export const createMockDirective = () => ({
-  bind(el, binding) {
-    writeBindingToElement(el, binding);
-  },
+export const createMockDirective = (name) => {
+  if (!name) {
+    throw new Error(
+      'Vue 3 no longer passes the name of the directive to its hooks, an explicit name is required',
+    );
+  }
 
-  update(el, binding) {
-    writeBindingToElement(el, binding);
-  },
+  return {
+    bind(el, binding) {
+      writeBindingToElement(el, name, binding);
+    },
 
-  unbind(el, { name }) {
-    delete el[getKey(name)];
-  },
-});
+    update(el, binding) {
+      writeBindingToElement(el, name, binding);
+    },
+
+    unbind(el) {
+      delete el[getKey(name)];
+    },
+  };
+};
diff --git a/spec/frontend/admin/topics/components/remove_avatar_spec.js b/spec/frontend/admin/topics/components/remove_avatar_spec.js
index 97d257c682cd131802ad2fc4ed821455481d6803..f058eef3a3a9c54d36cca206275bb1e80a1ce229 100644
--- a/spec/frontend/admin/topics/components/remove_avatar_spec.js
+++ b/spec/frontend/admin/topics/components/remove_avatar_spec.js
@@ -20,7 +20,7 @@ describe('RemoveAvatar', () => {
         name,
       },
       directives: {
-        GlModal: createMockDirective(),
+        GlModal: createMockDirective('gl-modal'),
       },
       stubs: {
         GlSprintf,
diff --git a/spec/frontend/admin/users/components/user_actions_spec.js b/spec/frontend/admin/users/components/user_actions_spec.js
index 1b080b05c95bbc69cb2324b2dc509e258acfab98..84966998e82db1553fb0d9ad2b017a28e080e25f 100644
--- a/spec/frontend/admin/users/components/user_actions_spec.js
+++ b/spec/frontend/admin/users/components/user_actions_spec.js
@@ -32,7 +32,7 @@ describe('AdminUserActions component', () => {
         showButtonLabels,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/admin/users/components/user_avatar_spec.js b/spec/frontend/admin/users/components/user_avatar_spec.js
index 94fac875fbe3573d4bcdfe3cb0a04f9ca055122c..dc1770daee59a887b603305737446ad69cd11b33 100644
--- a/spec/frontend/admin/users/components/user_avatar_spec.js
+++ b/spec/frontend/admin/users/components/user_avatar_spec.js
@@ -26,7 +26,7 @@ describe('AdminUserAvatar component', () => {
         ...props,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       stubs: {
         GlAvatarLabeled,
diff --git a/spec/frontend/alert_management/components/alert_management_table_spec.js b/spec/frontend/alert_management/components/alert_management_table_spec.js
index 7fb4f2d24638916c095fee0f0608c867f43ab82e..3f709d8c9f5c12f0a00b3201109ff185f50a0acb 100644
--- a/spec/frontend/alert_management/components/alert_management_table_spec.js
+++ b/spec/frontend/alert_management/components/alert_management_table_spec.js
@@ -68,7 +68,7 @@ describe('AlertManagementTable', () => {
         },
         stubs,
         directives: {
-          GlTooltip: createMockDirective(),
+          GlTooltip: createMockDirective('gl-tooltip'),
         },
       }),
     );
diff --git a/spec/frontend/boards/board_card_inner_spec.js b/spec/frontend/boards/board_card_inner_spec.js
index 1e823e3321a455062c629d729bb097470d789a47..a9342af0c965c5b30ceb5547d98b0d5645ffdd81 100644
--- a/spec/frontend/boards/board_card_inner_spec.js
+++ b/spec/frontend/boards/board_card_inner_spec.js
@@ -84,7 +84,7 @@ describe('Board card component', () => {
         BoardCardMoveToPosition: true,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       provide: {
         rootPath: '/',
diff --git a/spec/frontend/boards/components/board_add_new_column_trigger_spec.js b/spec/frontend/boards/components/board_add_new_column_trigger_spec.js
index 354eb7bff16ad27c912f4dcc910067e7db1375ad..f42b1325548dd0ff4452e7be640cb29ff97cbd3b 100644
--- a/spec/frontend/boards/components/board_add_new_column_trigger_spec.js
+++ b/spec/frontend/boards/components/board_add_new_column_trigger_spec.js
@@ -17,7 +17,7 @@ describe('BoardAddNewColumnTrigger', () => {
   const mountComponent = () => {
     wrapper = mountExtended(BoardAddNewColumnTrigger, {
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       store: createStore(),
     });
diff --git a/spec/frontend/boards/components/board_settings_sidebar_spec.js b/spec/frontend/boards/components/board_settings_sidebar_spec.js
index 7d602042685b7d1d3dadb5d686926d6ae59bff45..f4ecbbbed1c8d7b8c041937b071818e4e9c0838e 100644
--- a/spec/frontend/boards/components/board_settings_sidebar_spec.js
+++ b/spec/frontend/boards/components/board_settings_sidebar_spec.js
@@ -48,7 +48,7 @@ describe('BoardSettingsSidebar', () => {
           isIssueBoard: true,
         },
         directives: {
-          GlModal: createMockDirective(),
+          GlModal: createMockDirective('gl-modal'),
         },
         stubs: {
           GlDrawer: stubComponent(GlDrawer, {
diff --git a/spec/frontend/boards/components/toggle_focus_spec.js b/spec/frontend/boards/components/toggle_focus_spec.js
index 3cbaac91f8dc196fdf6aba3a884ad9ffc2b5f5f1..a3d58fa05fd97ccca1cd0f17c0847e4881731f15 100644
--- a/spec/frontend/boards/components/toggle_focus_spec.js
+++ b/spec/frontend/boards/components/toggle_focus_spec.js
@@ -10,7 +10,7 @@ describe('ToggleFocus', () => {
   const createComponent = () => {
     wrapper = shallowMountExtended(ToggleFocus, {
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       attachTo: document.body,
     });
diff --git a/spec/frontend/branches/components/delete_merged_branches_spec.js b/spec/frontend/branches/components/delete_merged_branches_spec.js
index 4f1e772f4a4b9bb6f68a234eebbd55bc05a05988..274962fd36416eae4602fb45099720f8585d9229 100644
--- a/spec/frontend/branches/components/delete_merged_branches_spec.js
+++ b/spec/frontend/branches/components/delete_merged_branches_spec.js
@@ -27,7 +27,7 @@ const createComponent = (mountFn = shallowMountExtended, stubs = {}) => {
       ...propsDataMock,
     },
     directives: {
-      GlTooltip: createMockDirective(),
+      GlTooltip: createMockDirective('gl-tooltip'),
     },
     stubs,
   });
diff --git a/spec/frontend/ci/pipeline_editor/components/file-tree/container_spec.js b/spec/frontend/ci/pipeline_editor/components/file-tree/container_spec.js
index 11ba517e0eb9e9e8efde6ceb5d8d8807e660b444..e030412f2f5cb520106aefd4f9617b1bb02e69db 100644
--- a/spec/frontend/ci/pipeline_editor/components/file-tree/container_spec.js
+++ b/spec/frontend/ci/pipeline_editor/components/file-tree/container_spec.js
@@ -22,7 +22,7 @@ describe('Pipeline editor file nav', () => {
           includes,
         },
         directives: {
-          GlTooltip: createMockDirective(),
+          GlTooltip: createMockDirective('gl-tooltip'),
         },
         stubs,
       }),
diff --git a/spec/frontend/ci/runner/admin_new_runner_app/admin_new_runner_app_spec.js b/spec/frontend/ci/runner/admin_new_runner_app/admin_new_runner_app_spec.js
index edf3d1706ccfbaf97252a16d411b070655c6582b..dd7b0796f6e3450006bdc6e109ee3ac20afec463 100644
--- a/spec/frontend/ci/runner/admin_new_runner_app/admin_new_runner_app_spec.js
+++ b/spec/frontend/ci/runner/admin_new_runner_app/admin_new_runner_app_spec.js
@@ -29,7 +29,7 @@ describe('AdminNewRunnerApp', () => {
         ...props,
       },
       directives: {
-        GlModal: createMockDirective(),
+        GlModal: createMockDirective('gl-modal'),
       },
       stubs: {
         GlSprintf,
diff --git a/spec/frontend/ci/runner/components/cells/runner_owner_cell_spec.js b/spec/frontend/ci/runner/components/cells/runner_owner_cell_spec.js
index 3097e43e5831896491cacad40ae6222a10341db1..588d438b48402a0a7d6f44d029889f347b99ac4f 100644
--- a/spec/frontend/ci/runner/components/cells/runner_owner_cell_spec.js
+++ b/spec/frontend/ci/runner/components/cells/runner_owner_cell_spec.js
@@ -16,7 +16,7 @@ describe('RunnerOwnerCell', () => {
   const createComponent = ({ runner } = {}) => {
     wrapper = shallowMount(RunnerOwnerCell, {
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       propsData: {
         runner,
diff --git a/spec/frontend/ci/runner/components/cells/runner_summary_field_spec.js b/spec/frontend/ci/runner/components/cells/runner_summary_field_spec.js
index f536e0dcbcf66e9561d8bdb08706b035e3e26afe..a5047e51f9f2925b01b75034cba4c103c9207bb3 100644
--- a/spec/frontend/ci/runner/components/cells/runner_summary_field_spec.js
+++ b/spec/frontend/ci/runner/components/cells/runner_summary_field_spec.js
@@ -17,7 +17,7 @@ describe('RunnerSummaryField', () => {
         ...props,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       ...options,
     });
diff --git a/spec/frontend/ci/runner/components/registration/registration_token_reset_dropdown_item_spec.js b/spec/frontend/ci/runner/components/registration/registration_token_reset_dropdown_item_spec.js
index 783a4d9252ab6870a61828962479d52f827491d8..71e54e343725689579ce21e3cce50952fa4acaad 100644
--- a/spec/frontend/ci/runner/components/registration/registration_token_reset_dropdown_item_spec.js
+++ b/spec/frontend/ci/runner/components/registration/registration_token_reset_dropdown_item_spec.js
@@ -43,7 +43,7 @@ describe('RegistrationTokenResetDropdownItem', () => {
         [runnersRegistrationTokenResetMutation, runnersRegistrationTokenResetMutationHandler],
       ]),
       directives: {
-        GlModal: createMockDirective(),
+        GlModal: createMockDirective('gl-modal'),
       },
     });
 
diff --git a/spec/frontend/ci/runner/components/runner_bulk_delete_spec.js b/spec/frontend/ci/runner/components/runner_bulk_delete_spec.js
index 0dc5a90fb834cd7b8df07085460bc029a4a5ca01..05ceed931bd0e93544674facc1f794d03cb125ad 100644
--- a/spec/frontend/ci/runner/components/runner_bulk_delete_spec.js
+++ b/spec/frontend/ci/runner/components/runner_bulk_delete_spec.js
@@ -51,7 +51,7 @@ describe('RunnerBulkDelete', () => {
         runners: mockRunners,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       stubs: {
         GlSprintf,
diff --git a/spec/frontend/ci/runner/components/runner_delete_button_spec.js b/spec/frontend/ci/runner/components/runner_delete_button_spec.js
index 02960ad427e3f129f2aaadd2ef99320d12828845..a97c9902cebf014afaf67e65d29687466ae42206 100644
--- a/spec/frontend/ci/runner/components/runner_delete_button_spec.js
+++ b/spec/frontend/ci/runner/components/runner_delete_button_spec.js
@@ -53,8 +53,8 @@ describe('RunnerDeleteButton', () => {
       },
       apolloProvider,
       directives: {
-        GlTooltip: createMockDirective(),
-        GlModal: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
+        GlModal: createMockDirective('gl-modal'),
       },
     });
   };
diff --git a/spec/frontend/ci/runner/components/runner_edit_button_spec.js b/spec/frontend/ci/runner/components/runner_edit_button_spec.js
index 907cdc90100469d2cb7c7548778effcc4a576cb0..16586dc46d586db18b9cd2d286612efdb8f853e3 100644
--- a/spec/frontend/ci/runner/components/runner_edit_button_spec.js
+++ b/spec/frontend/ci/runner/components/runner_edit_button_spec.js
@@ -11,7 +11,7 @@ describe('RunnerEditButton', () => {
     wrapper = mountFn(RunnerEditButton, {
       attrs,
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/ci/runner/components/runner_list_empty_state_spec.js b/spec/frontend/ci/runner/components/runner_list_empty_state_spec.js
index 6aea3ddf58c5b8a921f9c9b566803c26cb2c56ed..9dd6577a166147039b6c5bba3764b2f7e3ec53c5 100644
--- a/spec/frontend/ci/runner/components/runner_list_empty_state_spec.js
+++ b/spec/frontend/ci/runner/components/runner_list_empty_state_spec.js
@@ -31,7 +31,7 @@ describe('RunnerListEmptyState', () => {
         ...props,
       },
       directives: {
-        GlModal: createMockDirective(),
+        GlModal: createMockDirective('gl-modal'),
       },
       stubs: {
         GlEmptyState,
diff --git a/spec/frontend/ci/runner/components/runner_pause_button_spec.js b/spec/frontend/ci/runner/components/runner_pause_button_spec.js
index 12680e01b98f7d2ba641ab218afc50391733a81e..dc9925f153b6f6be972db21679ac541ac92056a5 100644
--- a/spec/frontend/ci/runner/components/runner_pause_button_spec.js
+++ b/spec/frontend/ci/runner/components/runner_pause_button_spec.js
@@ -46,7 +46,7 @@ describe('RunnerPauseButton', () => {
       },
       apolloProvider: createMockApollo([[runnerToggleActiveMutation, runnerToggleActiveHandler]]),
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/ci/runner/components/runner_paused_badge_spec.js b/spec/frontend/ci/runner/components/runner_paused_badge_spec.js
index b051ebe99a7de45b695d8dc01ffe9d957c9d6456..879597ce44d0292824615e4af16fa8841379b3a9 100644
--- a/spec/frontend/ci/runner/components/runner_paused_badge_spec.js
+++ b/spec/frontend/ci/runner/components/runner_paused_badge_spec.js
@@ -16,7 +16,7 @@ describe('RunnerTypeBadge', () => {
         ...props,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/ci/runner/components/runner_status_badge_spec.js b/spec/frontend/ci/runner/components/runner_status_badge_spec.js
index 45b410df2d40ec08bffbed9349e5f4697c87f606..8cde6369d487301b70bd304210b6fa5979aecd7b 100644
--- a/spec/frontend/ci/runner/components/runner_status_badge_spec.js
+++ b/spec/frontend/ci/runner/components/runner_status_badge_spec.js
@@ -31,7 +31,7 @@ describe('RunnerTypeBadge', () => {
         ...props,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/ci/runner/components/runner_tag_spec.js b/spec/frontend/ci/runner/components/runner_tag_spec.js
index 7bcb046ae43c4f5620dbf9045b8ad9ae90b1aeca..59bfe1585e95fbb728d63be46cf4641434bccb6a 100644
--- a/spec/frontend/ci/runner/components/runner_tag_spec.js
+++ b/spec/frontend/ci/runner/components/runner_tag_spec.js
@@ -29,8 +29,8 @@ describe('RunnerTag', () => {
         ...props,
       },
       directives: {
-        GlTooltip: createMockDirective(),
-        GlResizeObserver: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
+        GlResizeObserver: createMockDirective('gl-resize-observer'),
       },
     });
   };
diff --git a/spec/frontend/ci/runner/components/runner_type_badge_spec.js b/spec/frontend/ci/runner/components/runner_type_badge_spec.js
index 58f0936275909a81135f439c386916d7426fe764..acf9486064ff2df06ecc5367d42f7430ed192f40 100644
--- a/spec/frontend/ci/runner/components/runner_type_badge_spec.js
+++ b/spec/frontend/ci/runner/components/runner_type_badge_spec.js
@@ -23,7 +23,7 @@ describe('RunnerTypeBadge', () => {
         ...props,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/clusters/agents/components/create_token_button_spec.js b/spec/frontend/clusters/agents/components/create_token_button_spec.js
index 73856b74a8dd6bbe4c3adce05ef1edc24aedc1e7..aadd11e9b5fdc2da48268802f2e2a67aacd18a8c 100644
--- a/spec/frontend/clusters/agents/components/create_token_button_spec.js
+++ b/spec/frontend/clusters/agents/components/create_token_button_spec.js
@@ -21,7 +21,7 @@ describe('CreateTokenButton', () => {
         ...provideData,
       },
       directives: {
-        GlModalDirective: createMockDirective(),
+        GlModalDirective: createMockDirective('gl-modal-directive'),
       },
       stubs: {
         GlTooltip,
diff --git a/spec/frontend/clusters_list/components/clusters_actions_spec.js b/spec/frontend/clusters_list/components/clusters_actions_spec.js
index f4ee3f93cb54ed4472faf8dd080be0661ebf8950..7c0157c473ba8f9f4502883a1ef1492e1e6878e2 100644
--- a/spec/frontend/clusters_list/components/clusters_actions_spec.js
+++ b/spec/frontend/clusters_list/components/clusters_actions_spec.js
@@ -35,7 +35,7 @@ describe('ClustersActionsComponent', () => {
         ...provideData,
       },
       directives: {
-        GlModalDirective: createMockDirective(),
+        GlModalDirective: createMockDirective('gl-modal-directive'),
       },
     });
   };
diff --git a/spec/frontend/clusters_list/components/delete_agent_button_spec.js b/spec/frontend/clusters_list/components/delete_agent_button_spec.js
index 82850b9dea4d63d363e56f7f4693f8df79293397..e8eff45135f41bd027bcc117c091f0f93ffd5d99 100644
--- a/spec/frontend/clusters_list/components/delete_agent_button_spec.js
+++ b/spec/frontend/clusters_list/components/delete_agent_button_spec.js
@@ -84,7 +84,7 @@ describe('DeleteAgentButton', () => {
         ...provideData,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       propsData,
       mocks: { $toast: { show: toast } },
diff --git a/spec/frontend/environments/canary_ingress_spec.js b/spec/frontend/environments/canary_ingress_spec.js
index 340740e649911c5566b1f926e458f1092e191c7f..eb3dec27cb6142367d6e89800dc2cb198ecc59f4 100644
--- a/spec/frontend/environments/canary_ingress_spec.js
+++ b/spec/frontend/environments/canary_ingress_spec.js
@@ -23,7 +23,7 @@ describe('/environments/components/canary_ingress.vue', () => {
         ...props,
       },
       directives: {
-        GlModal: createMockDirective(),
+        GlModal: createMockDirective('gl-modal'),
       },
       ...options,
     });
diff --git a/spec/frontend/environments/environment_actions_spec.js b/spec/frontend/environments/environment_actions_spec.js
index 48483152f7a8c4db12bcf70f8a5fdd1050e4e587..b79f899b6d407ec717146f4fcb271e75136def10 100644
--- a/spec/frontend/environments/environment_actions_spec.js
+++ b/spec/frontend/environments/environment_actions_spec.js
@@ -36,7 +36,7 @@ describe('EnvironmentActions Component', () => {
     wrapper = mountFn(EnvironmentActions, {
       propsData: { actions: [], ...props },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       ...options,
     });
diff --git a/spec/frontend/environments/environments_detail_header_spec.js b/spec/frontend/environments/environments_detail_header_spec.js
index 1f233c05fbf4848b01bfdd6a4f660aab266b8ce6..0b5f076ba9fbfe5599c34e48956e436c7c82dfe7 100644
--- a/spec/frontend/environments/environments_detail_header_spec.js
+++ b/spec/frontend/environments/environments_detail_header_spec.js
@@ -47,7 +47,7 @@ describe('Environments detail header component', () => {
         TimeAgo,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       propsData: {
         canAdminEnvironment: false,
diff --git a/spec/frontend/ide/components/commit_sidebar/form_spec.js b/spec/frontend/ide/components/commit_sidebar/form_spec.js
index a8ee81afa0b07ee477064078fe6cd4af44550cce..9810072763006754d3519f197366c72255fead15 100644
--- a/spec/frontend/ide/components/commit_sidebar/form_spec.js
+++ b/spec/frontend/ide/components/commit_sidebar/form_spec.js
@@ -26,7 +26,7 @@ describe('IDE commit form', () => {
     wrapper = shallowMount(CommitForm, {
       store,
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       stubs: {
         GlModal: stubComponent(GlModal),
diff --git a/spec/frontend/ide/components/commit_sidebar/new_merge_request_option_spec.js b/spec/frontend/ide/components/commit_sidebar/new_merge_request_option_spec.js
index 2a455c9d7c14cf5fb86c42d8b007c413db8a19aa..8827dd41a7487b2edd1571a57b36002f6f4a477a 100644
--- a/spec/frontend/ide/components/commit_sidebar/new_merge_request_option_spec.js
+++ b/spec/frontend/ide/components/commit_sidebar/new_merge_request_option_spec.js
@@ -33,7 +33,7 @@ describe('NewMergeRequestOption component', () => {
         },
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/ide/components/commit_sidebar/radio_group_spec.js b/spec/frontend/ide/components/commit_sidebar/radio_group_spec.js
index a3fa03a4aa5302a4a8d965f894c9651a146d2f1b..589d282e4c4a55f945a40ea2c0c9c2e59cc57e3e 100644
--- a/spec/frontend/ide/components/commit_sidebar/radio_group_spec.js
+++ b/spec/frontend/ide/components/commit_sidebar/radio_group_spec.js
@@ -19,7 +19,7 @@ describe('IDE commit sidebar radio group', () => {
       propsData: config.props,
       slots: config.slots,
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/ide/components/ide_sidebar_nav_spec.js b/spec/frontend/ide/components/ide_sidebar_nav_spec.js
index 80e8aba4072478b0e63fb84d92a3bffeeb2236e3..b7aa99747b349adb4658cde38c9ca325ee81da59 100644
--- a/spec/frontend/ide/components/ide_sidebar_nav_spec.js
+++ b/spec/frontend/ide/components/ide_sidebar_nav_spec.js
@@ -37,7 +37,7 @@ describe('ide/components/ide_sidebar_nav', () => {
         ...props,
       },
       directives: {
-        tooltip: createMockDirective(),
+        tooltip: createMockDirective('tooltip'),
       },
     });
   };
diff --git a/spec/frontend/import_entities/import_groups/components/import_table_spec.js b/spec/frontend/import_entities/import_groups/components/import_table_spec.js
index c7bda5a60ece0828029f85fc16fec9159edc6bd2..904fd25b378ec329bea281503ac77eec6d628e9d 100644
--- a/spec/frontend/import_entities/import_groups/components/import_table_spec.js
+++ b/spec/frontend/import_entities/import_groups/components/import_table_spec.js
@@ -102,7 +102,7 @@ describe('import table', () => {
         defaultTargetNamespace,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       provide: {
         glFeatures,
diff --git a/spec/frontend/issuable/components/csv_import_export_buttons_spec.js b/spec/frontend/issuable/components/csv_import_export_buttons_spec.js
index 118c12d968b0c0ce8a7b68f8e715d646c512a479..a392198030d37fb370b5ef7c9458e8fd86768117 100644
--- a/spec/frontend/issuable/components/csv_import_export_buttons_spec.js
+++ b/spec/frontend/issuable/components/csv_import_export_buttons_spec.js
@@ -16,7 +16,7 @@ describe('CsvImportExportButtons', () => {
     glModalDirective = jest.fn();
     return mountExtended(CsvImportExportButtons, {
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
         glModal: {
           bind(_, { value }) {
             glModalDirective(value);
diff --git a/spec/frontend/issuable/components/issuable_header_warnings_spec.js b/spec/frontend/issuable/components/issuable_header_warnings_spec.js
index 99aa6778e1ef39aa4071726ae68bbfd2a1402e76..690bbf585de2e339caafc0c3826c29c8753de0c3 100644
--- a/spec/frontend/issuable/components/issuable_header_warnings_spec.js
+++ b/spec/frontend/issuable/components/issuable_header_warnings_spec.js
@@ -25,7 +25,7 @@ describe('IssuableHeaderWarnings', () => {
       store,
       provide,
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/issues/show/components/app_spec.js b/spec/frontend/issues/show/components/app_spec.js
index 9fa0ce6f93d73aaba0e4ccd99677a50f06573286..c534e2a7d7ba2add5f89aa69151b24459968a15e 100644
--- a/spec/frontend/issues/show/components/app_spec.js
+++ b/spec/frontend/issues/show/components/app_spec.js
@@ -60,7 +60,7 @@ describe('Issuable output', () => {
   const mountComponent = (props = {}, options = {}, data = {}) => {
     wrapper = shallowMountExtended(IssuableApp, {
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       propsData: { ...appProps, ...props },
       provide: {
diff --git a/spec/frontend/jira_connect/subscriptions/components/add_namespace_button_spec.js b/spec/frontend/jira_connect/subscriptions/components/add_namespace_button_spec.js
index 9f92ad2adc1cbdd5850978a1ecc225019931ab1e..06fad25dbf3d22a9deef6de0deed306cbb203549 100644
--- a/spec/frontend/jira_connect/subscriptions/components/add_namespace_button_spec.js
+++ b/spec/frontend/jira_connect/subscriptions/components/add_namespace_button_spec.js
@@ -11,7 +11,7 @@ describe('AddNamespaceButton', () => {
   const createComponent = () => {
     wrapper = shallowMount(AddNamespaceButton, {
       directives: {
-        glModal: createMockDirective(),
+        glModal: createMockDirective('gl-modal'),
       },
     });
   };
diff --git a/spec/frontend/members/components/action_buttons/approve_access_request_button_spec.js b/spec/frontend/members/components/action_buttons/approve_access_request_button_spec.js
index 15bb03480e1cb0b882f1a4823f05380693daeb3b..621ed968972e3fd0291d6a137b7de8e87e1a3c4e 100644
--- a/spec/frontend/members/components/action_buttons/approve_access_request_button_spec.js
+++ b/spec/frontend/members/components/action_buttons/approve_access_request_button_spec.js
@@ -38,7 +38,7 @@ describe('ApproveAccessRequestButton', () => {
         ...propsData,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/members/components/action_buttons/remove_group_link_button_spec.js b/spec/frontend/members/components/action_buttons/remove_group_link_button_spec.js
index b511cebdf282e1d2b12e6083503ed0af7ca554f4..4b50aa083ee73e131de7190fb52725ef6c394dbc 100644
--- a/spec/frontend/members/components/action_buttons/remove_group_link_button_spec.js
+++ b/spec/frontend/members/components/action_buttons/remove_group_link_button_spec.js
@@ -37,7 +37,7 @@ describe('RemoveGroupLinkButton', () => {
         groupLink: group,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/members/components/action_buttons/remove_member_button_spec.js b/spec/frontend/members/components/action_buttons/remove_member_button_spec.js
index cca340169b7fb13c5711673ffc8f2e04b2da1317..d3d732f97933e415b826f3bf798b6f6cd493a8f4 100644
--- a/spec/frontend/members/components/action_buttons/remove_member_button_spec.js
+++ b/spec/frontend/members/components/action_buttons/remove_member_button_spec.js
@@ -47,7 +47,7 @@ describe('RemoveMemberButton', () => {
         ...propsData,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/members/components/action_buttons/resend_invite_button_spec.js b/spec/frontend/members/components/action_buttons/resend_invite_button_spec.js
index 51cfd47ddf4083ca6e0fa072a34622876cbb4689..ca51cbea1d118749185667f067b21c91228e4a3e 100644
--- a/spec/frontend/members/components/action_buttons/resend_invite_button_spec.js
+++ b/spec/frontend/members/components/action_buttons/resend_invite_button_spec.js
@@ -38,7 +38,7 @@ describe('ResendInviteButton', () => {
         ...propsData,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/members/components/action_dropdowns/leave_group_dropdown_item_spec.js b/spec/frontend/members/components/action_dropdowns/leave_group_dropdown_item_spec.js
index 90f5b2170076f569d1d9a54995869f39904c39e9..b88f9cd0db2ae70ad043365fa6d9f2499f0cc10b 100644
--- a/spec/frontend/members/components/action_dropdowns/leave_group_dropdown_item_spec.js
+++ b/spec/frontend/members/components/action_dropdowns/leave_group_dropdown_item_spec.js
@@ -18,7 +18,7 @@ describe('LeaveGroupDropdownItem', () => {
         ...propsData,
       },
       directives: {
-        GlModal: createMockDirective(),
+        GlModal: createMockDirective('gl-modal'),
       },
       slots: {
         default: text,
diff --git a/spec/frontend/members/components/action_dropdowns/user_action_dropdown_spec.js b/spec/frontend/members/components/action_dropdowns/user_action_dropdown_spec.js
index 5a2de1cac80264fb1a0d7f1b84f33eabe6e6c99c..cc1d9972f60a0ef9d26234a6859b0b6053402aac 100644
--- a/spec/frontend/members/components/action_dropdowns/user_action_dropdown_spec.js
+++ b/spec/frontend/members/components/action_dropdowns/user_action_dropdown_spec.js
@@ -24,7 +24,7 @@ describe('UserActionDropdown', () => {
         ...propsData,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/members/components/table/member_source_spec.js b/spec/frontend/members/components/table/member_source_spec.js
index fbfd0ca7ae7e88d55529f69297e91346deb4e7a3..b4f3c2b042bf9fcf3a5e5dad76dc55de12f0e968 100644
--- a/spec/frontend/members/components/table/member_source_spec.js
+++ b/spec/frontend/members/components/table/member_source_spec.js
@@ -23,7 +23,7 @@ describe('MemberSource', () => {
         ...propsData,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/nav/components/responsive_header_spec.js b/spec/frontend/nav/components/responsive_header_spec.js
index f87de0afb14d6ecc6702214a7a5dc52c890d26a9..c9c0b1127bfbd756ff6f886de4dc250776bb0d80 100644
--- a/spec/frontend/nav/components/responsive_header_spec.js
+++ b/spec/frontend/nav/components/responsive_header_spec.js
@@ -14,7 +14,7 @@ describe('~/nav/components/top_nav_menu_sections.vue', () => {
         default: TEST_SLOT_CONTENT,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/nav/components/responsive_home_spec.js b/spec/frontend/nav/components/responsive_home_spec.js
index 8f198d92747ab0e639512d4f153eb29a062368ce..7cd958420ebefef739d99305320474a3f8f1d700 100644
--- a/spec/frontend/nav/components/responsive_home_spec.js
+++ b/spec/frontend/nav/components/responsive_home_spec.js
@@ -29,7 +29,7 @@ describe('~/nav/components/responsive_home.vue', () => {
         ...props,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       listeners: {
         'menu-item-click': menuItemClickListener,
diff --git a/spec/frontend/notifications/components/notifications_dropdown_spec.js b/spec/frontend/notifications/components/notifications_dropdown_spec.js
index 0f13de0e6d8ca2a949704fa0c8fe7ec7a57736fa..75e88d48ebd22f3330c41470c0da0a0e247414cb 100644
--- a/spec/frontend/notifications/components/notifications_dropdown_spec.js
+++ b/spec/frontend/notifications/components/notifications_dropdown_spec.js
@@ -25,7 +25,7 @@ describe('NotificationsDropdown', () => {
         CustomNotificationsModal,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       provide: {
         dropdownItems: mockDropdownItems,
diff --git a/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/details_header_spec.js b/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/details_header_spec.js
index b37edac83f72b80a1ea5c39ddae9e583c197eb12..a825319f5460dfd92631a6ec60e0feabccab2320 100644
--- a/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/details_header_spec.js
+++ b/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/details_header_spec.js
@@ -73,7 +73,7 @@ describe('Details Header', () => {
       apolloProvider,
       propsData,
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       stubs: {
         TitleArea,
diff --git a/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/tags_list_row_spec.js b/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/tags_list_row_spec.js
index fa0d76762df463eab40c812709dbc8a28a19a1e2..d2d3be256e576799925878416f73fda3e53da8b5 100644
--- a/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/tags_list_row_spec.js
+++ b/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/tags_list_row_spec.js
@@ -50,7 +50,7 @@ describe('tags list row', () => {
       },
       propsData,
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/packages_and_registries/container_registry/explorer/components/list_page/image_list_row_spec.js b/spec/frontend/packages_and_registries/container_registry/explorer/components/list_page/image_list_row_spec.js
index 7506859100793ef8656a0af045753d53272c557c..7b20855bf4cfce8741b352dbe1ec7bb45ccdedfb 100644
--- a/spec/frontend/packages_and_registries/container_registry/explorer/components/list_page/image_list_row_spec.js
+++ b/spec/frontend/packages_and_registries/container_registry/explorer/components/list_page/image_list_row_spec.js
@@ -49,7 +49,7 @@ describe('Image List Row', () => {
         config: {},
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/package_list_row_spec.js b/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/package_list_row_spec.js
index 721bdd34a4f89a7f3596a4bc90d4a4c2da9c5d2d..4a7542ca509634fa63b7a57495a354444dc89818 100644
--- a/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/package_list_row_spec.js
+++ b/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/package_list_row_spec.js
@@ -49,7 +49,7 @@ describe('packages_list_row', () => {
         disableDelete,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/package_title_spec.js b/spec/frontend/packages_and_registries/package_registry/components/details/package_title_spec.js
index 1fda77f2aaa1b24f4f444c342396312539d63786..142f8d03c5ddb4c31bc98169d80513352637c46c 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/package_title_spec.js
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/package_title_spec.js
@@ -38,7 +38,7 @@ describe('PackageTitle', () => {
       },
       provide,
       directives: {
-        GlResizeObserver: createMockDirective(),
+        GlResizeObserver: createMockDirective('gl-resize-observer'),
       },
     });
     await nextTick();
diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/version_row_spec.js b/spec/frontend/packages_and_registries/package_registry/components/details/version_row_spec.js
index 67340822fa530a73bac042378c68172b1f75edd2..8cb51aaf7385d766cbc0fa0e6abe7051711f401b 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/details/version_row_spec.js
+++ b/spec/frontend/packages_and_registries/package_registry/components/details/version_row_spec.js
@@ -36,7 +36,7 @@ describe('VersionRow', () => {
         GlTruncate,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   }
diff --git a/spec/frontend/packages_and_registries/package_registry/components/list/package_list_row_spec.js b/spec/frontend/packages_and_registries/package_registry/components/list/package_list_row_spec.js
index 2a78cfb13f9d6e62751acce6d739e97dc78e2115..19d56fe8cc668999e10538059902bb03e1d6a83b 100644
--- a/spec/frontend/packages_and_registries/package_registry/components/list/package_list_row_spec.js
+++ b/spec/frontend/packages_and_registries/package_registry/components/list/package_list_row_spec.js
@@ -67,7 +67,7 @@ describe('packages_list_row', () => {
         selected,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/packages_and_registries/shared/components/package_path_spec.js b/spec/frontend/packages_and_registries/shared/components/package_path_spec.js
index 93425d4f399f3e32f948c5e32d834e7a74ee9133..cce65d3d0bc77a287d38db7d7f944046504e0fb7 100644
--- a/spec/frontend/packages_and_registries/shared/components/package_path_spec.js
+++ b/spec/frontend/packages_and_registries/shared/components/package_path_spec.js
@@ -9,7 +9,7 @@ describe('PackagePath', () => {
     wrapper = shallowMount(PackagePath, {
       propsData,
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/pages/admin/jobs/index/components/cancel_jobs_spec.js b/spec/frontend/pages/admin/jobs/index/components/cancel_jobs_spec.js
index ec6369e711900e578d2f76a87b5e548b0f11fc57..de6d44eabdc369a34540e257f022e903e2fdf440 100644
--- a/spec/frontend/pages/admin/jobs/index/components/cancel_jobs_spec.js
+++ b/spec/frontend/pages/admin/jobs/index/components/cancel_jobs_spec.js
@@ -19,8 +19,8 @@ describe('CancelJobs component', () => {
   const createComponent = (props = {}) => {
     wrapper = shallowMountExtended(CancelJobs, {
       directives: {
-        GlModal: createMockDirective(),
-        GlTooltip: createMockDirective(),
+        GlModal: createMockDirective('gl-modal'),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       propsData: {
         url: `${TEST_HOST}/cancel_jobs_modal.vue/cancelAll`,
diff --git a/spec/frontend/pipelines/components/pipeline_mini_graph/linked_pipelines_mini_list_spec.js b/spec/frontend/pipelines/components/pipeline_mini_graph/linked_pipelines_mini_list_spec.js
index 5ea57c51e707d2b13a9133ef58d3ad4146ca72da..61dee1f5904d03568e3ef434793923b87837e9da 100644
--- a/spec/frontend/pipelines/components/pipeline_mini_graph/linked_pipelines_mini_list_spec.js
+++ b/spec/frontend/pipelines/components/pipeline_mini_graph/linked_pipelines_mini_list_spec.js
@@ -19,7 +19,7 @@ describe('Linked pipeline mini list', () => {
   const createComponent = (props = {}) => {
     wrapper = mount(LinkedPipelinesMiniList, {
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       propsData: {
         ...props,
diff --git a/spec/frontend/pipelines/pipeline_triggerer_spec.js b/spec/frontend/pipelines/pipeline_triggerer_spec.js
index 58bfb68e85c0bde537194d76abcdc65d758b9276..671f193dcf0c13af7b0af7e3608ae8483a31a104 100644
--- a/spec/frontend/pipelines/pipeline_triggerer_spec.js
+++ b/spec/frontend/pipelines/pipeline_triggerer_spec.js
@@ -22,7 +22,7 @@ describe('Pipelines Triggerer', () => {
         ...props,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/projects/prune_unreachable_objects_button_spec.js b/spec/frontend/projects/prune_unreachable_objects_button_spec.js
index b345f264ca7de608e5080f20e8cc5b14fc7f55bf..0471e213fbae7dfa9e07f9e0d378cbe9b41b42a9 100644
--- a/spec/frontend/projects/prune_unreachable_objects_button_spec.js
+++ b/spec/frontend/projects/prune_unreachable_objects_button_spec.js
@@ -22,7 +22,7 @@ describe('Project remove modal', () => {
     wrapper = shallowMountExtended(PruneObjectsButton, {
       propsData: defaultProps,
       directives: {
-        GlModal: createMockDirective(),
+        GlModal: createMockDirective('gl-modal'),
       },
     });
   };
diff --git a/spec/frontend/projects/settings/repository/branch_rules/app_spec.js b/spec/frontend/projects/settings/repository/branch_rules/app_spec.js
index 56b39f045808a68f38683bfdf6d4edac3474b976..661f842066ebd72a7a285a66219dcd1a565875a0 100644
--- a/spec/frontend/projects/settings/repository/branch_rules/app_spec.js
+++ b/spec/frontend/projects/settings/repository/branch_rules/app_spec.js
@@ -41,7 +41,7 @@ describe('Branch rules app', () => {
       apolloProvider: fakeApollo,
       provide: appProvideMock,
       stubs: { GlModal: stubComponent(GlModal, { template: RENDER_ALL_SLOTS_TEMPLATE }) },
-      directives: { GlModal: createMockDirective() },
+      directives: { GlModal: createMockDirective('gl-modal') },
     });
 
     await waitForPromises();
diff --git a/spec/frontend/repository/components/table/row_spec.js b/spec/frontend/repository/components/table/row_spec.js
index 5d9138ab9cd7cdd2ac1d7f845cfd21c8b330a4d0..02796d487df7c8b9c966741c1216ecaac13ef357 100644
--- a/spec/frontend/repository/components/table/row_spec.js
+++ b/spec/frontend/repository/components/table/row_spec.js
@@ -28,7 +28,7 @@ function factory(propsData = {}) {
       rowNumber: 123,
     },
     directives: {
-      GlHoverLoad: createMockDirective(),
+      GlHoverLoad: createMockDirective('gl-hover-load'),
     },
     mocks: {
       $router,
diff --git a/spec/frontend/security_configuration/components/training_provider_list_spec.js b/spec/frontend/security_configuration/components/training_provider_list_spec.js
index 8f2b53831917be45adf1eaa74b9dc24e5bc6227c..f378c600ce1f994d11e326bd2d08fdc8f21bd5a6 100644
--- a/spec/frontend/security_configuration/components/training_provider_list_spec.js
+++ b/spec/frontend/security_configuration/components/training_provider_list_spec.js
@@ -106,7 +106,7 @@ describe('TrainingProviderList component', () => {
         projectFullPath: testProjectPath,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       propsData: {
         securityTrainingEnabled: true,
diff --git a/spec/frontend/sidebar/components/incidents/sidebar_escalation_status_spec.js b/spec/frontend/sidebar/components/incidents/sidebar_escalation_status_spec.js
index 2dded61c073c8eb423501ae01e10e9797ab3965f..5e0e9f48926a836281c2daeefbb43d803b44898c 100644
--- a/spec/frontend/sidebar/components/incidents/sidebar_escalation_status_spec.js
+++ b/spec/frontend/sidebar/components/incidents/sidebar_escalation_status_spec.js
@@ -57,7 +57,7 @@ describe('SidebarEscalationStatus', () => {
         canUpdate: true,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
       apolloProvider,
     });
diff --git a/spec/frontend/sidebar/components/labels/labels_select_vue/dropdown_value_collapsed_spec.js b/spec/frontend/sidebar/components/labels/labels_select_vue/dropdown_value_collapsed_spec.js
index 56f25a1c6a44fe16014b09cf160471c75a60d6b2..b33a890b9e3de721dd29955e7f4d418d4b8f6c12 100644
--- a/spec/frontend/sidebar/components/labels/labels_select_vue/dropdown_value_collapsed_spec.js
+++ b/spec/frontend/sidebar/components/labels/labels_select_vue/dropdown_value_collapsed_spec.js
@@ -19,7 +19,7 @@ describe('DropdownValueCollapsedComponent', () => {
     wrapper = shallowMount(DropdownValueCollapsedComponent, {
       propsData: { ...defaultProps, ...props },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/sidebar/components/lock/issuable_lock_form_spec.js b/spec/frontend/sidebar/components/lock/issuable_lock_form_spec.js
index 8f825847cfc9c6590f0cd01a5539324041272683..eecab45b3e539cfc60d189779d105339141665b0 100644
--- a/spec/frontend/sidebar/components/lock/issuable_lock_form_spec.js
+++ b/spec/frontend/sidebar/components/lock/issuable_lock_form_spec.js
@@ -62,7 +62,7 @@ describe('IssuableLockForm', () => {
         ...props,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js b/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js
index 060a2873e041458fd08b4814637e4e49d154acb5..0b7712cf29e4265bf4e2fd7c8e50fe8696b7849d 100644
--- a/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js
+++ b/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js
@@ -140,7 +140,7 @@ describe('SidebarDropdownWidget', () => {
           },
         },
         directives: {
-          GlTooltip: createMockDirective(),
+          GlTooltip: createMockDirective('gl-tooltip'),
         },
         stubs: {
           SidebarEditableItem,
diff --git a/spec/frontend/sidebar/components/time_tracking/time_tracker_spec.js b/spec/frontend/sidebar/components/time_tracking/time_tracker_spec.js
index 45d8b5e4647931b2dfb0ae8c284aa0081829dca2..ed060ca2705c72f29e6f55ba13bf71bb4ccae2aa 100644
--- a/spec/frontend/sidebar/components/time_tracking/time_tracker_spec.js
+++ b/spec/frontend/sidebar/components/time_tracking/time_tracker_spec.js
@@ -32,7 +32,7 @@ describe('Issuable Time Tracker', () => {
   const mountComponent = ({ props = {}, issuableType = 'issue', loading = false } = {}) => {
     return mount(TimeTracker, {
       propsData: { ...defaultProps, ...props },
-      directives: { GlTooltip: createMockDirective() },
+      directives: { GlTooltip: createMockDirective('gl-tooltip') },
       stubs: {
         transition: stubTransition(),
       },
diff --git a/spec/frontend/terraform/components/states_table_spec.js b/spec/frontend/terraform/components/states_table_spec.js
index 0b3b169891b83e2be8d2d0f1d9845ff71a2409d4..697e52e45ea6aeed0eea46fdee141bc7642a3d31 100644
--- a/spec/frontend/terraform/components/states_table_spec.js
+++ b/spec/frontend/terraform/components/states_table_spec.js
@@ -127,7 +127,7 @@ describe('StatesTable', () => {
         propsData,
         provide: { projectPath: 'path/to/project' },
         directives: {
-          GlTooltip: createMockDirective(),
+          GlTooltip: createMockDirective('gl-tooltip'),
         },
       }),
     );
diff --git a/spec/frontend/vue_shared/components/form/input_copy_toggle_visibility_spec.js b/spec/frontend/vue_shared/components/form/input_copy_toggle_visibility_spec.js
index e1da8b690af6ab463de0f770ebc467ea1b790ccd..ae4f3156e2c161d413b0f47897d94f30d04f6571 100644
--- a/spec/frontend/vue_shared/components/form/input_copy_toggle_visibility_spec.js
+++ b/spec/frontend/vue_shared/components/form/input_copy_toggle_visibility_spec.js
@@ -21,7 +21,7 @@ describe('InputCopyToggleVisibility', () => {
       InputCopyToggleVisibility,
       merge({}, options, {
         directives: {
-          GlTooltip: createMockDirective(),
+          GlTooltip: createMockDirective('gl-tooltip'),
         },
       }),
     );
diff --git a/spec/frontend/vue_shared/components/markdown/suggestion_diff_header_spec.js b/spec/frontend/vue_shared/components/markdown/suggestion_diff_header_spec.js
index 9db1b779a04734ff1db929bd75af18beabf25248..c2360773a654bf24b88d4aafceba4e11ca9abbaf 100644
--- a/spec/frontend/vue_shared/components/markdown/suggestion_diff_header_spec.js
+++ b/spec/frontend/vue_shared/components/markdown/suggestion_diff_header_spec.js
@@ -25,7 +25,7 @@ describe('Suggestion Diff component', () => {
         ...props,
       },
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/vue_shared/components/registry/metadata_item_spec.js b/spec/frontend/vue_shared/components/registry/metadata_item_spec.js
index a04e1e237d42235f3ea27d734b615ed9ecc4d512..8defeb76e19b4c84374a7b35e4a856b4ae67e880 100644
--- a/spec/frontend/vue_shared/components/registry/metadata_item_spec.js
+++ b/spec/frontend/vue_shared/components/registry/metadata_item_spec.js
@@ -14,7 +14,7 @@ describe('Metadata Item', () => {
     wrapper = shallowMount(component, {
       propsData,
       directives: {
-        GlTooltip: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/vue_shared/components/runner_instructions/runner_instructions_spec.js b/spec/frontend/vue_shared/components/runner_instructions/runner_instructions_spec.js
index 986d76d2b95bd33424500cac42e620cf6bad6a8f..68c126ab2bae180728151dc8887650bb3d3afafa 100644
--- a/spec/frontend/vue_shared/components/runner_instructions/runner_instructions_spec.js
+++ b/spec/frontend/vue_shared/components/runner_instructions/runner_instructions_spec.js
@@ -12,7 +12,7 @@ describe('RunnerInstructions component', () => {
   const createComponent = () => {
     wrapper = shallowMountExtended(RunnerInstructions, {
       directives: {
-        GlModal: createMockDirective(),
+        GlModal: createMockDirective('gl-tooltip'),
       },
     });
   };
diff --git a/spec/frontend/vue_shared/components/tooltip_on_truncate_spec.js b/spec/frontend/vue_shared/components/tooltip_on_truncate_spec.js
index ca1f7996ad60cb7427f30ca990848cbd2b2a115b..5e7b2a8923527e077c9cd4a6a4675a96f3ddccb9 100644
--- a/spec/frontend/vue_shared/components/tooltip_on_truncate_spec.js
+++ b/spec/frontend/vue_shared/components/tooltip_on_truncate_spec.js
@@ -30,8 +30,8 @@ describe('TooltipOnTruncate component', () => {
         default: [MOCK_TITLE],
       },
       directives: {
-        GlTooltip: createMockDirective(),
-        GlResizeObserver: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
+        GlResizeObserver: createMockDirective('gl-resize-observer'),
       },
       ...options,
     });
@@ -42,8 +42,8 @@ describe('TooltipOnTruncate component', () => {
       ...TooltipOnTruncate,
       directives: {
         ...TooltipOnTruncate.directives,
-        GlTooltip: createMockDirective(),
-        GlResizeObserver: createMockDirective(),
+        GlTooltip: createMockDirective('gl-tooltip'),
+        GlResizeObserver: createMockDirective('gl-resize-observer'),
       },
     };
 
diff --git a/spec/frontend/vue_shared/issuable/show/components/issuable_title_spec.js b/spec/frontend/vue_shared/issuable/show/components/issuable_title_spec.js
index 6f62fb773530b4597937ba8f1b053bdef95d9b37..619d0cb5dd311b8d6dbfd7e9137a6663db61f93f 100644
--- a/spec/frontend/vue_shared/issuable/show/components/issuable_title_spec.js
+++ b/spec/frontend/vue_shared/issuable/show/components/issuable_title_spec.js
@@ -22,7 +22,7 @@ const createComponent = (propsData = issuableTitleProps) =>
       'status-badge': 'Open',
     },
     directives: {
-      GlTooltip: createMockDirective(),
+      GlTooltip: createMockDirective('gl-tooltip'),
     },
   });
 
diff --git a/spec/frontend/whats_new/components/app_spec.js b/spec/frontend/whats_new/components/app_spec.js
index ee15034daff0ca0109284f401469b7d071c24470..265e0344286fb091f441f2512d9fbb0210c2a8bf 100644
--- a/spec/frontend/whats_new/components/app_spec.js
+++ b/spec/frontend/whats_new/components/app_spec.js
@@ -49,7 +49,7 @@ describe('App', () => {
       store,
       propsData: buildProps(),
       directives: {
-        GlResizeObserver: createMockDirective(),
+        GlResizeObserver: createMockDirective('gl-resize-observer'),
       },
     });
   };
diff --git a/spec/frontend/work_items/components/work_item_type_icon_spec.js b/spec/frontend/work_items/components/work_item_type_icon_spec.js
index 182fb0f8cb6ca837e336822125b4a9f4b212e843..dfcf9be3d619f78eba5a0e5d1c2e2c7a11136dbd 100644
--- a/spec/frontend/work_items/components/work_item_type_icon_spec.js
+++ b/spec/frontend/work_items/components/work_item_type_icon_spec.js
@@ -9,7 +9,7 @@ function createComponent(propsData) {
   wrapper = shallowMount(WorkItemTypeIcon, {
     propsData,
     directives: {
-      GlTooltip: createMockDirective(),
+      GlTooltip: createMockDirective('gl-tooltip'),
     },
   });
 }