@@ -384,15 +384,12 @@ describe("McpHub", () => {
384384 expect ( mcpHub . connections [ 1 ] . server . disabled ) . toBe ( true )
385385
386386 // Mock fs.readFile and fs.writeFile to track config changes
387- let currentConfig = JSON . stringify ( {
388- mcpServers : {
389- server1 : { disabled : false } ,
390- server2 : { disabled : false } ,
391- } ,
392- } )
393- ; ( fs . readFile as jest . Mock ) . mockImplementation ( async ( ) => currentConfig )
387+ const writeCalls : any [ ] = [ ]
388+ ; ( fs . readFile as jest . Mock ) . mockResolvedValue (
389+ JSON . stringify ( { mcpServers : { server1 : { disabled : false } , server2 : { disabled : false } } } ) ,
390+ )
394391 ; ( fs . writeFile as jest . Mock ) . mockImplementation ( async ( path , data ) => {
395- currentConfig = data
392+ writeCalls . push ( JSON . parse ( data ) )
396393 } )
397394
398395 await mcpHub . toggleAllServersDisabled ( true )
@@ -401,10 +398,10 @@ describe("McpHub", () => {
401398 expect ( mcpHub . connections [ 0 ] . server . disabled ) . toBe ( true )
402399 expect ( mcpHub . connections [ 1 ] . server . disabled ) . toBe ( true )
403400
404- // Verify that fs.writeFile was called to persist the changes
405- const writtenConfig = JSON . parse ( currentConfig )
406- expect ( writtenConfig . mcpServers . server1 . disabled ) . toBe ( true )
407- expect ( writtenConfig . mcpServers . server2 . disabled ) . toBe ( true )
401+ // Verify that fs.writeFile was called for each server
402+ expect ( writeCalls . length ) . toBe ( 2 )
403+ expect ( writeCalls [ 0 ] . mcpServers . server1 . disabled ) . toBe ( true )
404+ expect ( writeCalls [ 1 ] . mcpServers . server2 . disabled ) . toBe ( true )
408405
409406 // Verify that postMessageToWebview was called
410407 expect ( mockProvider . postMessageToWebview ) . toHaveBeenCalledWith (
@@ -439,16 +436,13 @@ describe("McpHub", () => {
439436 ]
440437 mcpHub . connections = mockConnections
441438
442- // Mock fs.readFile to return a config with both servers disabled
443- let currentConfig = JSON . stringify ( {
444- mcpServers : {
445- server1 : { disabled : true } ,
446- server2 : { disabled : true } ,
447- } ,
448- } )
449- ; ( fs . readFile as jest . Mock ) . mockImplementation ( async ( ) => currentConfig )
439+ // Mock fs.readFile and fs.writeFile to track config changes
440+ const writeCalls : any [ ] = [ ]
441+ ; ( fs . readFile as jest . Mock ) . mockResolvedValue (
442+ JSON . stringify ( { mcpServers : { server1 : { disabled : true } , server2 : { disabled : true } } } ) ,
443+ )
450444 ; ( fs . writeFile as jest . Mock ) . mockImplementation ( async ( path , data ) => {
451- currentConfig = data
445+ writeCalls . push ( JSON . parse ( data ) )
452446 } )
453447
454448 await mcpHub . toggleAllServersDisabled ( false )
@@ -457,10 +451,10 @@ describe("McpHub", () => {
457451 expect ( mcpHub . connections [ 0 ] . server . disabled ) . toBe ( false )
458452 expect ( mcpHub . connections [ 1 ] . server . disabled ) . toBe ( false )
459453
460- // Verify that fs.writeFile was called to persist the changes
461- const writtenConfig = JSON . parse ( currentConfig )
462- expect ( writtenConfig . mcpServers . server1 . disabled ) . toBe ( false )
463- expect ( writtenConfig . mcpServers . server2 . disabled ) . toBe ( false )
454+ // Verify that fs.writeFile was called for each server
455+ expect ( writeCalls . length ) . toBe ( 2 )
456+ expect ( writeCalls [ 0 ] . mcpServers . server1 . disabled ) . toBe ( false )
457+ expect ( writeCalls [ 1 ] . mcpServers . server2 . disabled ) . toBe ( false )
464458
465459 // Verify that postMessageToWebview was called
466460 expect ( mockProvider . postMessageToWebview ) . toHaveBeenCalledWith (
0 commit comments