import { ExtensionTypeEnum, extensionManager } from '@/extension'; import { appService } from './appService'; test('should return correct system information when monitoring extension is found', async () => { const mockGpuSetting = { name: 'NVIDIA GeForce GTX 1080', memory: 8192 }; const mockOsInfo = { platform: 'win32', release: '10.0.19041' }; const mockMonitoringExtension = { getGpuSetting: jest.fn().mockResolvedValue(mockGpuSetting), getOsInfo: jest.fn().mockResolvedValue(mockOsInfo), }; extensionManager.get = jest.fn().mockReturnValue(mockMonitoringExtension); const result = await appService.systemInformation(); expect(mockMonitoringExtension.getGpuSetting).toHaveBeenCalled(); expect(mockMonitoringExtension.getOsInfo).toHaveBeenCalled(); expect(result).toEqual({ gpuSetting: mockGpuSetting, osInfo: mockOsInfo }); }); test('should log a warning when monitoring extension is not found', async () => { const consoleWarnMock = jest.spyOn(console, 'warn').mockImplementation(() => {}); extensionManager.get = jest.fn().mockReturnValue(undefined); await appService.systemInformation(); expect(consoleWarnMock).toHaveBeenCalledWith('System monitoring extension not found'); consoleWarnMock.mockRestore(); });