11import { changeUserSessionLanguage } from './languageManager' ;
22import { getConfig } from '../config' ;
3- import { getAuthenticatedUser } from '../auth' ;
43import { getCookies , handleRtl , LOCALE_CHANGED } from './lib' ;
54import { logError } from '../logging' ;
65import { publish } from '../pubSub' ;
7- import { updateUserPreferences , setSessionLanguage } from './languageApi' ;
6+ import { updateAuthenticatedUserPreferences , setSessionLanguage } from './languageApi' ;
87
98jest . mock ( '../config' ) ;
10- jest . mock ( '../auth' ) ;
119jest . mock ( './lib' ) ;
1210jest . mock ( '../logging' ) ;
1311jest . mock ( '../pubSub' ) ;
@@ -18,7 +16,6 @@ const LANGUAGE_PREFERENCE_COOKIE_NAME = 'lang';
1816
1917describe ( 'languageManager' , ( ) => {
2018 let mockCookies ;
21- let mockUser ;
2219 let mockReload ;
2320
2421 beforeEach ( ( ) => {
@@ -31,17 +28,14 @@ describe('languageManager', () => {
3128 mockCookies = { set : jest . fn ( ) } ;
3229 getCookies . mockReturnValue ( mockCookies ) ;
3330
34- mockUser = { username : 'testuser' , userId : '123' } ;
35- getAuthenticatedUser . mockReturnValue ( mockUser ) ;
36-
3731 mockReload = jest . fn ( ) ;
3832 Object . defineProperty ( window , 'location' , {
3933 configurable : true ,
4034 writable : true ,
4135 value : { reload : mockReload } ,
4236 } ) ;
4337
44- updateUserPreferences . mockResolvedValue ( { } ) ;
38+ updateAuthenticatedUserPreferences . mockResolvedValue ( { } ) ;
4539 setSessionLanguage . mockResolvedValue ( { } ) ;
4640 } ) ;
4741
@@ -53,7 +47,7 @@ describe('languageManager', () => {
5347 LANGUAGE_PREFERENCE_COOKIE_NAME ,
5448 'fr' ,
5549 ) ;
56- expect ( updateUserPreferences ) . toHaveBeenCalledWith ( 'testuser' , {
50+ expect ( updateAuthenticatedUserPreferences ) . toHaveBeenCalledWith ( {
5751 prefLang : 'fr' ,
5852 } ) ;
5953 expect ( setSessionLanguage ) . toHaveBeenCalledWith ( 'fr' ) ;
@@ -63,15 +57,16 @@ describe('languageManager', () => {
6357 } ) ;
6458
6559 it ( 'should handle errors gracefully' , async ( ) => {
66- updateUserPreferences . mockRejectedValue ( new Error ( 'fail' ) ) ;
60+ updateAuthenticatedUserPreferences . mockRejectedValue ( new Error ( 'fail' ) ) ;
6761 await changeUserSessionLanguage ( 'es' , true ) ;
6862 expect ( logError ) . toHaveBeenCalled ( ) ;
6963 } ) ;
7064
71- it ( 'should skip updateUserPreferences if user is not authenticated' , async ( ) => {
72- getAuthenticatedUser . mockReturnValue ( null ) ;
65+ it ( 'should call updateAuthenticatedUserPreferences even when user is not authenticated' , async ( ) => {
7366 await changeUserSessionLanguage ( 'en' , true ) ;
74- expect ( updateUserPreferences ) . not . toHaveBeenCalled ( ) ;
67+ expect ( updateAuthenticatedUserPreferences ) . toHaveBeenCalledWith ( {
68+ prefLang : 'en' ,
69+ } ) ;
7570 } ) ;
7671
7772 it ( 'should reload if forceReload is true' , async ( ) => {
0 commit comments