diff --git a/spec/frontend/analytics/shared/components/projects_dropdown_filter_spec.js b/spec/frontend/analytics/shared/components/projects_dropdown_filter_spec.js
index d2cbe0d39e45503b91ad2a8e922ca6f9c110792a..ade8a61fdcebf69da5d55fcca9e4352e4e5cbc61 100644
--- a/spec/frontend/analytics/shared/components/projects_dropdown_filter_spec.js
+++ b/spec/frontend/analytics/shared/components/projects_dropdown_filter_spec.js
@@ -1,4 +1,4 @@
-import { GlDropdown, GlDropdownItem, GlTruncate } from '@gitlab/ui';
+import { GlDropdown, GlDropdownItem, GlTruncate, GlSearchBoxByType } from '@gitlab/ui';
 import { nextTick } from 'vue';
 import { mountExtended } from 'helpers/vue_test_utils_helper';
 import { stubComponent } from 'helpers/stub_component';
@@ -31,6 +31,7 @@ const projects = [
 const MockGlDropdown = stubComponent(GlDropdown, {
   template: `
   <div>
+    <slot name="header"></slot>
     <div data-testid="vsa-highlighted-items">
       <slot name="highlighted-items"></slot>
     </div>
@@ -112,6 +113,8 @@ describe('ProjectsDropdownFilter component', () => {
 
   const selectedIds = () => wrapper.vm.selectedProjects.map(({ id }) => id);
 
+  const findSearchBoxByType = () => wrapper.findComponent(GlSearchBoxByType);
+
   describe('queryParams are applied when fetching data', () => {
     beforeEach(() => {
       createComponent({
@@ -123,9 +126,7 @@ describe('ProjectsDropdownFilter component', () => {
     });
 
     it('applies the correct queryParams when making an api call', async () => {
-      // setData usage is discouraged. See https://gitlab.com/groups/gitlab-org/-/epics/7330 for details
-      // eslint-disable-next-line no-restricted-syntax
-      wrapper.setData({ searchTerm: 'gitlab' });
+      findSearchBoxByType().vm.$emit('input', 'gitlab');
 
       expect(spyQuery).toHaveBeenCalledTimes(1);
 
@@ -144,6 +145,7 @@ describe('ProjectsDropdownFilter component', () => {
 
   describe('highlighted items', () => {
     const blockDefaultProps = { multiSelect: true };
+
     beforeEach(() => {
       createComponent(blockDefaultProps);
     });
@@ -151,6 +153,7 @@ describe('ProjectsDropdownFilter component', () => {
     describe('with no project selected', () => {
       it('does not render the highlighted items', async () => {
         await createWithMockDropdown(blockDefaultProps);
+
         expect(findSelectedDropdownItems().length).toBe(0);
       });
 
@@ -188,8 +191,7 @@ describe('ProjectsDropdownFilter component', () => {
 
         expect(findSelectedProjectsLabel().text()).toBe('2 projects selected');
 
-        findClearAllButton().trigger('click');
-        await nextTick();
+        await findClearAllButton().trigger('click');
 
         expect(findSelectedProjectsLabel().text()).toBe('Select projects');
       });
@@ -201,9 +203,7 @@ describe('ProjectsDropdownFilter component', () => {
       await createWithMockDropdown({ multiSelect: true });
 
       selectDropdownItemAtIndex(0);
-      // setData usage is discouraged. See https://gitlab.com/groups/gitlab-org/-/epics/7330 for details
-      // eslint-disable-next-line no-restricted-syntax
-      wrapper.setData({ searchTerm: 'this is a very long search string' });
+      findSearchBoxByType().vm.$emit('input', 'this is a very long search string');
     });
 
     it('renders the highlighted items', async () => {
@@ -351,17 +351,19 @@ describe('ProjectsDropdownFilter component', () => {
 
       it('should remove from selection when clicked again', () => {
         selectDropdownItemAtIndex(0);
+
         expect(selectedIds()).toEqual([projects[0].id]);
 
         selectDropdownItemAtIndex(0);
+
         expect(selectedIds()).toEqual([]);
       });
 
       it('renders the correct placeholder text when multiple projects are selected', async () => {
         selectDropdownItemAtIndex(0);
         selectDropdownItemAtIndex(1);
-
         await nextTick();
+
         expect(findDropdownButton().text()).toBe('2 projects selected');
       });
     });