|
16 | 16 | * SPDX-License-Identifier: Apache-2.0 |
17 | 17 | ***********************************************************************/ |
18 | 18 |
|
19 | | -import { describe, expect, test } from 'vitest'; |
| 19 | +import { describe, expect, test, vi } from 'vitest'; |
20 | 20 | import { SystemApiImpl } from '/@/manager/system-api'; |
21 | | -import * as podmanDesktopApi from '@podman-desktop/api'; |
| 21 | +import * as os from 'node:os'; |
22 | 22 |
|
23 | | -describe('getSystemName', async () => { |
24 | | - const systemApi = new SystemApiImpl(); |
25 | | - |
26 | | - test('should return linux', async () => { |
27 | | - (podmanDesktopApi.env.isLinux as boolean) = true; |
28 | | - (podmanDesktopApi.env.isMac as boolean) = false; |
29 | | - (podmanDesktopApi.env.isWindows as boolean) = false; |
30 | | - const systemName = await systemApi.getSystemName(); |
31 | | - expect(systemName).toBe('linux'); |
32 | | - }); |
| 23 | +vi.mock(import('node:os')); |
33 | 24 |
|
34 | | - test('should return mac', async () => { |
35 | | - (podmanDesktopApi.env.isLinux as boolean) = false; |
36 | | - (podmanDesktopApi.env.isMac as boolean) = true; |
37 | | - (podmanDesktopApi.env.isWindows as boolean) = false; |
38 | | - const systemName = await systemApi.getSystemName(); |
39 | | - expect(systemName).toBe('mac'); |
40 | | - }); |
41 | | - |
42 | | - test('should return windows', async () => { |
43 | | - (podmanDesktopApi.env.isLinux as boolean) = false; |
44 | | - (podmanDesktopApi.env.isMac as boolean) = false; |
45 | | - (podmanDesktopApi.env.isWindows as boolean) = true; |
46 | | - const systemName = await systemApi.getSystemName(); |
47 | | - expect(systemName).toBe('windows'); |
48 | | - }); |
| 25 | +describe('getPlatformName', async () => { |
| 26 | + const systemApi = new SystemApiImpl(); |
49 | 27 |
|
50 | | - test('should return undefined', async () => { |
51 | | - (podmanDesktopApi.env.isLinux as boolean) = false; |
52 | | - (podmanDesktopApi.env.isMac as boolean) = false; |
53 | | - (podmanDesktopApi.env.isWindows as boolean) = false; |
54 | | - const systemName = await systemApi.getSystemName(); |
55 | | - expect(systemName).toBeUndefined(); |
| 28 | + test('should return value from os.platform', async () => { |
| 29 | + // testing with a non-tested platform, to be sure that the value is not obtained from the system |
| 30 | + vi.mocked(os.platform).mockReturnValue('sunos'); |
| 31 | + const platformName = await systemApi.getPlatformName(); |
| 32 | + expect(platformName).toBe('sunos'); |
56 | 33 | }); |
57 | 34 | }); |
0 commit comments