diff --git a/app/src/stores/server.test.ts b/app/src/stores/server.test.ts index 5feb3af2e1..babaf383cc 100644 --- a/app/src/stores/server.test.ts +++ b/app/src/stores/server.test.ts @@ -1,8 +1,11 @@ import api, * as apiFunctions from '@/api'; import * as setLanguageDefault from '@/lang/set-language'; +import { User } from '@directus/types'; import { createTestingPinia } from '@pinia/testing'; import { setActivePinia } from 'pinia'; import { afterEach, beforeAll, beforeEach, describe, expect, SpyInstance, test, vi } from 'vitest'; +import { Auth, Info, useServerStore } from './server'; +import { useUserStore } from './user'; beforeEach(() => { setActivePinia( @@ -13,9 +16,6 @@ beforeEach(() => { ); }); -import { Auth, Info, useServerStore } from './server'; -import { useUserStore } from './user'; - const mockServerInfo: Info = { project: { project_name: 'Directus', @@ -45,14 +45,18 @@ const mockServerInfo: Info = { const mockAuthProviders: Auth['providers'] = [ { - name: 'directus', driver: 'oauth2', + name: 'directus', + label: 'Directus', }, ]; -const mockAdminUser = { id: 'e7f7a94d-5b38-4978-8450-de0e38859fec' } as any; +const mockAdminUser = { id: 'e7f7a94d-5b38-4978-8450-de0e38859fec' } as User; -const mockAdminUserWithLanguage = { id: 'e7f7a94d-5b38-4978-8450-de0e38859fec', language: 'zh-CN' } as any; +const mockAdminUserWithLanguage = { + id: 'e7f7a94d-5b38-4978-8450-de0e38859fec', + language: 'zh-CN', +} as User; let apiGetSpy: SpyInstance; let replaceQueueSpy: SpyInstance; diff --git a/app/src/stores/server.ts b/app/src/stores/server.ts index ef17f2edcc..60f726a9c1 100644 --- a/app/src/stores/server.ts +++ b/app/src/stores/server.ts @@ -108,8 +108,8 @@ export const useServerStore = defineStore('serverStore', () => { // or reset language for admin when they update it without having their own language set if ( !currentUser || - !('language' in currentUser) || - (options?.isLanguageUpdated === true && !currentUser?.language) + (options?.isLanguageUpdated && + (!('language' in currentUser) || ('language' in currentUser && !currentUser?.language))) ) { await setLanguage(unref(info)?.project?.default_language ?? 'en-US'); }