From 564a345ec5bae2ef34c8b2bfd4fc7d6154277296 Mon Sep 17 00:00:00 2001
From: Marina Mosti <mmosti@gitlab.com>
Date: Mon, 3 Mar 2025 15:38:51 +0100
Subject: [PATCH] Test: fix vue 3 nav item router link

---
 scripts/frontend/quarantined_vue3_specs.txt   |  1 -
 .../components/nav_item_router_link_spec.js   | 19 +++++++++++--------
 2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/scripts/frontend/quarantined_vue3_specs.txt b/scripts/frontend/quarantined_vue3_specs.txt
index 85b00dea9a7ce..923ca02ab996b 100644
--- a/scripts/frontend/quarantined_vue3_specs.txt
+++ b/scripts/frontend/quarantined_vue3_specs.txt
@@ -227,7 +227,6 @@ spec/frontend/sidebar/components/milestone/milestone_dropdown_spec.js
 spec/frontend/sidebar/components/subscriptions/subscriptions_dropdown_spec.js
 spec/frontend/sidebar/components/todo_toggle/sidebar_todo_widget_spec.js
 spec/frontend/snippets/components/snippet_description_edit_spec.js
-spec/frontend/super_sidebar/components/nav_item_router_link_spec.js
 spec/frontend/super_sidebar/components/organization_switcher_spec.js
 spec/frontend/super_sidebar/components/sidebar_portal_spec.js
 spec/frontend/super_sidebar/components/user_menu_spec.js
diff --git a/spec/frontend/super_sidebar/components/nav_item_router_link_spec.js b/spec/frontend/super_sidebar/components/nav_item_router_link_spec.js
index dfae5e96cd80d..948eb9ffa0f17 100644
--- a/spec/frontend/super_sidebar/components/nav_item_router_link_spec.js
+++ b/spec/frontend/super_sidebar/components/nav_item_router_link_spec.js
@@ -13,6 +13,7 @@ describe('NavItemRouterLink component', () => {
       stubs: {
         RouterLink: {
           ...RouterLinkStub,
+          props: ['custom', 'activeClass', 'to'],
           render() {
             const children = this.$scopedSlots.default({
               href: '/foo',
@@ -20,20 +21,22 @@ describe('NavItemRouterLink component', () => {
               navigate: jest.fn(),
               ...routerLinkSlotProps,
             });
-            return children;
+            return children[0];
           },
         },
       },
     });
   };
 
+  const findRouterLink = () => wrapper.findComponent(RouterLinkStub);
+
   describe('when `RouterLink` is not active', () => {
     it('renders an anchor tag without active CSS class and `aria-current` attribute', () => {
       createWrapper({ item: { title: 'foo', to: { name: 'foo' } } });
 
-      expect(wrapper.attributes()).toEqual({
+      expect(findRouterLink().props('custom')).toEqual('');
+      expect(findRouterLink().attributes()).toMatchObject({
         href: '/foo',
-        custom: '',
       });
     });
   });
@@ -45,13 +48,13 @@ describe('NavItemRouterLink component', () => {
         routerLinkSlotProps: { isActive: true },
       });
 
-      expect(wrapper.findComponent(RouterLinkStub).props('activeClass')).toBe(
-        'super-sidebar-nav-item-current',
-      );
-      expect(wrapper.attributes()).toEqual({
+      expect(findRouterLink().props()).toMatchObject({
+        activeClass: 'super-sidebar-nav-item-current',
+        custom: '',
+      });
+      expect(findRouterLink().attributes()).toEqual({
         href: '/foo',
         'aria-current': 'page',
-        custom: '',
       });
     });
   });
-- 
GitLab