jan/web/services/appService.test.ts
Faisal Amir daa7c0ca21
feat: better hardware setting (#4471)
* feat: better hardware setting

* chore: update layout

* feat: better hardware setting

* chore: fix title section

* chore: added hardware engine management

* chore: integrate gpus and enable set gpu activate

* chore: update calculate ram and vram

* chore: update calulate vram and ram used

* fix: set active gpus

* chore: fix progress bar spacing

* chore: always update cache vram gpu

* chore: update cpu usage percentage

* chore: fix type usage cpu

* chore: update ram cpus usage getsystemmonitor from new api harware engine management system

* test: update test case data using hardware management extension

* chore: resolve conflict lock json

* chore: cleanup app services

* chore: update type OperationSystemInfo

* chore: update app service

* chore: show list gpus on system monitor

* chore: remove monitoring extension

* chore: update test case app service

* chore: remove unused hooks useGpusSetting

* chore: remove monitor from shource index

* chore: fix test core

* chore: update gpu and cpu info on engine management ext

* chore: fix app service test

* chore: update test appService include cpu info

* chore: filter gpus show or hide on system monitor based activated gpu

* chore: remove unused run_mode

* chore: remove tensort

* chore: update check gpu run_mode

* chore: handle undefined gpus

* chore: cleanup PR

* chore: cleanup process node error

* chore: fix type
2025-02-03 22:01:08 +07:00

44 lines
1.3 KiB
TypeScript

import { extensionManager } from '@/extension'
import { appService } from './appService'
test('should return correct system information when hardware extension is found', async () => {
(global as any).isMac = false;
(global as any).PLATFORM = "win32";
const mock = { cpu: { arch: 'arc' }, ram: { available: 4000, total: 8000 }, gpus: [{name: 'NVIDIA GeForce GTX 1080', total_vram: 8192}] }
const mockHardwareExtension = {
getHardware: jest.fn().mockResolvedValue(mock),
}
extensionManager.get = jest.fn().mockReturnValue(mockHardwareExtension)
const result = await appService.systemInformation()
expect(mockHardwareExtension.getHardware).toHaveBeenCalled()
expect(result).toEqual({
gpuSetting: {gpus: mock.gpus, vulkan: false, cpu: {arch: mock.cpu.arch},},
osInfo: {
platform: 'win32',
arch: mock.cpu.arch,
freeMem: mock.ram.available,
totalMem: mock.ram.total,
},
})
})
test('should log a warning when hardware extension is not found', async () => {
const consoleWarnMock = jest
.spyOn(console, 'warn')
.mockImplementation(() => {})
extensionManager.get = jest.fn().mockReturnValue(undefined)
await appService.systemInformation()
expect(consoleWarnMock).toHaveBeenCalledWith(
'Hardware extension not found'
)
consoleWarnMock.mockRestore()
})