jan/web/services/appService.test.ts
Louis 302b73ae73
test: add web helpers, services, utils tests (#3669)
* test: add web helpers tests

* fix: coverage report

* test: add more tests

* test: add more generated tests

* chore: add more tests

* test: add more tests
2024-09-20 14:24:51 +07:00

31 lines
1.2 KiB
TypeScript

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();
});