-
Notifications
You must be signed in to change notification settings - Fork 5
/
get-platform.test.js
37 lines (29 loc) · 1.14 KB
/
get-platform.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import getPlatform from '../get-platform';
describe('mocking a process global', () => {
// We need to copy/restore the whole property definition, not just the raw value
const realPlatform = Object.getOwnPropertyDescriptor(process, 'platform');
afterEach(() => {
// Restore the real property value after each test
Object.defineProperty(process, 'platform', realPlatform);
});
it("prints default (on my laptop, 'darwin' - this test will fail if running on linux", () => {
expect(getPlatform()).toBe('darwin');
});
it('prints a mock value 1', () => {
Object.defineProperty(process, 'platform', {
...Object.getOwnPropertyDescriptor(process, 'property'),
value: 'foo',
});
expect(getPlatform()).toBe('foo');
});
it('prints a mock value 2', () => {
Object.defineProperty(process, 'platform', {
...Object.getOwnPropertyDescriptor(process, 'property'),
value: 'bar',
});
expect(getPlatform()).toBe('bar');
});
it('goes back to default', () => {
expect(getPlatform()).toBe('darwin');
});
});