Skip to content

Commit 9339994

Browse files
committed
Unit test node-env.ts
- Added unit test case for module `node-env.ts`. - Set flag `--experimental-vm-modules` to Node when running `Jest`. - Modified package's `jest` script to clear cache before running the tests, as the process may got stuck at loading the dynamic import without cleaning the cache first.
1 parent 1049d79 commit 9339994

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"start": "electron ./dist/main.bundle.js",
99
"dev": "rimraf dist && cross-env NODE_ENV=development webpack --watch --progress --color",
1010
"prod": "rimraf dist && cross-env NODE_ENV=production webpack --progress --color",
11-
"test": "cross-env NODE_ENV=test jest",
11+
"test": "jest --clearCache && cross-env NODE_ENV=test NODE_OPTIONS=--experimental-vm-modules jest",
1212
"watch-test": "npm run test -- --watchAll",
1313
"next-rc": "npm --no-git-tag-version version prerelease --preid=rc",
1414
"next-patch": "npm --no-git-tag-version version patch",

tests/utils/node-env.spec.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { jest } from '@jest/globals';
2+
3+
test('NODE_ENV=test', async () => {
4+
process.env.NODE_ENV = 'test';
5+
jest.resetModules();
6+
7+
const nodeEnv = await import('_utils/node-env.js');
8+
9+
expect(nodeEnv.test).toBeTruthy();
10+
expect(nodeEnv.dev).toBeFalsy();
11+
expect(nodeEnv.prod).toBeFalsy();
12+
});
13+
14+
test('NODE_ENV=development', async () => {
15+
process.env.NODE_ENV = 'development';
16+
jest.resetModules();
17+
18+
const nodeEnv = await import('_utils/node-env.js');
19+
20+
expect(nodeEnv.dev).toBeTruthy();
21+
expect(nodeEnv.prod).toBeFalsy();
22+
expect(nodeEnv.test).toBeFalsy();
23+
});
24+
25+
test('NODE_ENV=production', async () => {
26+
process.env.NODE_ENV = 'production';
27+
jest.resetModules();
28+
29+
const nodeEnv = await import('_utils/node-env.js');
30+
31+
expect(nodeEnv.prod).toBeTruthy();
32+
expect(nodeEnv.dev).toBeFalsy();
33+
expect(nodeEnv.test).toBeFalsy();
34+
});

0 commit comments

Comments
 (0)