/
env.spec.ts
65 lines (58 loc) · 1.73 KB
/
env.spec.ts
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import { join } from 'node:path'
import { fileURLToPath } from 'node:url'
import { describe, expect, test } from 'vitest'
import { loadEnv } from '../env'
const __dirname = fileURLToPath(new URL('.', import.meta.url))
describe('loadEnv', () => {
test('basic', () => {
expect(loadEnv('development', join(__dirname, './env')))
.toMatchInlineSnapshot(`
{
"VITE_APP_BASE_ROUTE": "/",
"VITE_APP_BASE_URL": "/",
"VITE_ENV1": "ENV1",
"VITE_ENV2": "ENV2",
"VITE_ENV3": "ENV3",
}
`)
})
test('specific prefix', () => {
expect(loadEnv('development', join(__dirname, './env'), 'VVITE'))
.toMatchInlineSnapshot(`
{
"VVITE_A": "A",
"VVITE_B": "B",
}
`)
})
test('override', () => {
expect(loadEnv('production', join(__dirname, './env')))
.toMatchInlineSnapshot(`
{
"VITE_APP_BASE_ROUTE": "/app/",
"VITE_APP_BASE_URL": "/app/",
}
`)
})
test('VITE_USER_NODE_ENV', () => {
loadEnv('development', join(__dirname, './env'))
expect(process.env.VITE_USER_NODE_ENV).toEqual(undefined)
})
test('Already exists VITE_USER_NODE_ENV', () => {
process.env.VITE_USER_NODE_ENV = 'test'
loadEnv('development', join(__dirname, './env'))
expect(process.env.VITE_USER_NODE_ENV).toEqual('test')
})
test('prioritize existing process.env', () => {
process.env.VITE_ENV_TEST_ENV = 'EXIST'
expect(loadEnv('existing', join(__dirname, './env')))
.toMatchInlineSnapshot(`
{
"VITE_APP_BASE_ROUTE": "/",
"VITE_APP_BASE_URL": "/",
"VITE_ENV_TEST_ENV": "EXIST",
"VITE_USER_NODE_ENV": "test",
}
`)
})
})