diff --git a/eslint.config.ts b/eslint.config.ts
index aa59d118c..4974637fa 100644
--- a/eslint.config.ts
+++ b/eslint.config.ts
@@ -240,6 +240,20 @@ export default defineConfig([
]
}
},
+ {
+ files: ['**/*.test.ts'],
+ rules: {
+ 'no-restricted-properties': [
+ 'error',
+ {
+ object: 'vi',
+ property: 'doMock',
+ message:
+ 'Use vi.mock() with vi.hoisted() instead of vi.doMock(). See docs/testing/vitest-patterns.md'
+ }
+ ]
+ }
+ },
{
files: ['scripts/**/*.js'],
languageOptions: {
diff --git a/src/components/topbar/CurrentUserButton.test.ts b/src/components/topbar/CurrentUserButton.test.ts
index db5349b49..c8e568291 100644
--- a/src/components/topbar/CurrentUserButton.test.ts
+++ b/src/components/topbar/CurrentUserButton.test.ts
@@ -25,7 +25,24 @@ vi.mock('firebase/auth', () => ({
}))
// Mock pinia
-vi.mock('pinia')
+vi.mock('pinia', () => ({
+ storeToRefs: vi.fn((store) => store)
+}))
+
+// Mock the useFeatureFlags composable
+vi.mock('@/composables/useFeatureFlags', () => ({
+ useFeatureFlags: vi.fn(() => ({
+ flags: { teamWorkspacesEnabled: false }
+ }))
+}))
+
+// Mock the useTeamWorkspaceStore
+vi.mock('@/platform/workspace/stores/teamWorkspaceStore', () => ({
+ useTeamWorkspaceStore: vi.fn(() => ({
+ workspaceName: { value: '' },
+ initState: { value: 'idle' }
+ }))
+}))
// Mock the useCurrentUser composable
vi.mock('@/composables/auth/useCurrentUser', () => ({
diff --git a/src/components/topbar/CurrentUserButton.vue b/src/components/topbar/CurrentUserButton.vue
index fde213498..85d587e91 100644
--- a/src/components/topbar/CurrentUserButton.vue
+++ b/src/components/topbar/CurrentUserButton.vue
@@ -12,12 +12,18 @@
:class="
cn(
'flex items-center gap-1 rounded-full hover:bg-interface-button-hover-surface justify-center',
- compact && 'size-full aspect-square'
+ compact && 'size-full '
)
"
>
+
@@ -40,13 +46,16 @@
}
}"
>
-
+
-
+
@@ -54,6 +63,7 @@