@@ -33,9 +33,17 @@ describe('site-language/data', () => {
3333 } ) ;
3434
3535 describe ( 'setSiteLanguage' , ( ) => {
36- it ( 'calls patchPreferences and postSetLang' , async ( ) => {
37- mockPatchMethod . mockResolvedValueOnce ( { } ) ;
38- mockPostMethod . mockResolvedValueOnce ( { } ) ;
36+ it ( 'calls patchPreferences and postSetLang sequentially (patch first)' , async ( ) => {
37+ const callOrder : string [ ] = [ ] ;
38+
39+ mockPatchMethod . mockImplementationOnce ( ( ) => {
40+ callOrder . push ( 'patch' ) ;
41+ return Promise . resolve ( { } ) ;
42+ } ) ;
43+ mockPostMethod . mockImplementationOnce ( ( ) => {
44+ callOrder . push ( 'post' ) ;
45+ return Promise . resolve ( { } ) ;
46+ } ) ;
3947 await setSiteLanguage ( 'fr' , 'testuser' ) ;
4048 expect ( mockPatchMethod ) . toHaveBeenCalledWith (
4149 'http://test/api/user/v1/preferences/testuser' ,
@@ -48,6 +56,7 @@ describe('site-language/data', () => {
4856 expect . objectContaining ( { headers : expect . any ( Object ) } ) ,
4957 ) ;
5058 expect ( mockPostMethod . mock . calls [ 0 ] [ 1 ] . get ( 'language' ) ) . toBe ( 'fr' ) ;
59+ expect ( callOrder ) . toEqual ( [ 'patch' , 'post' ] ) ;
5160 } ) ;
5261
5362 it ( 'encodes special characters in username' , async ( ) => {
0 commit comments