@@ -13,7 +13,8 @@ import {
1313} from '../../types/Settings' ;
1414import {
1515 getSettingsConfiguration ,
16- loadSettings
16+ loadSettings ,
17+ saveSettings
1718} from '../config' ;
1819
1920vi . mock ( 'os' , ( ) => ( { homedir : vi . fn ( ) . mockReturnValue ( '/some-home-dir' ) } ) ) ;
@@ -90,4 +91,48 @@ describe('config', () => {
9091 expect ( vi . mocked ( fs . promises . writeFile ) ) . toHaveBeenCalledWith ( backupPath , 'invalid' , 'utf-8' ) ;
9192 expect ( settings . version ) . toBe ( CURRENT_VERSION ) ;
9293 } ) ;
94+
95+ it ( 'should save settings to default location - global' , async ( ) => {
96+ setGlobalConfig ( ) ;
97+
98+ const settings = await loadSettings ( ) ;
99+ await saveSettings ( settings ) ;
100+
101+ expect ( vi . mocked ( fs . promises . writeFile ) ) . toHaveBeenCalledWith ( globalConfig , JSON . stringify ( settings , null , 2 ) , 'utf-8' ) ;
102+ } ) ;
103+
104+ it ( 'should save settings to default location - project' , async ( ) => {
105+ setProjectConfig ( ) ;
106+
107+ const settings = await loadSettings ( ) ;
108+ await saveSettings ( settings ) ;
109+
110+ expect ( vi . mocked ( fs . promises . writeFile ) ) . toHaveBeenCalledWith ( projectConfig , JSON . stringify ( settings , null , 2 ) , 'utf-8' ) ;
111+ } ) ;
112+
113+ it ( 'should save settings to specified location - global' , async ( ) => {
114+ setProjectConfig ( ) ;
115+
116+ const config = getSettingsConfiguration ( ) ;
117+ expect ( config . type ) . toBe ( 'project' ) ;
118+
119+ const settings = await loadSettings ( ) ;
120+
121+ await saveSettings ( settings , 'global' ) ;
122+
123+ expect ( vi . mocked ( fs . promises . writeFile ) ) . toHaveBeenCalledWith ( globalConfig , JSON . stringify ( settings , null , 2 ) , 'utf-8' ) ;
124+ } ) ;
125+
126+ it ( 'should save settings to specified location - project' , async ( ) => {
127+ setGlobalConfig ( ) ;
128+
129+ const config = getSettingsConfiguration ( ) ;
130+ expect ( config . type ) . toBe ( 'global' ) ;
131+
132+ const settings = await loadSettings ( ) ;
133+
134+ await saveSettings ( settings , 'project' ) ;
135+
136+ expect ( vi . mocked ( fs . promises . writeFile ) ) . toHaveBeenCalledWith ( projectConfig , JSON . stringify ( settings , null , 2 ) , 'utf-8' ) ;
137+ } ) ;
93138} ) ;
0 commit comments