blob: 0fd7f5a25252985be11de9afb9ac1353a7b51837 (
plain) (
blame)
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
|
import { getEnv, getRequiredEnv, getRequiredEnvVars } from '../lib/index';
describe('process/env', () => {
const originalEnv = process.env;
beforeEach(() => {
process.env = { ...originalEnv };
});
afterAll(() => {
process.env = originalEnv;
});
test('getEnv returns optional when present', () => {
process.env.MY_VAR = 'hello';
expect(getEnv('MY_VAR').get()).toBe('hello');
});
test('getRequiredEnv returns left when missing', () => {
delete process.env.MISSING;
const res = getRequiredEnv('MISSING');
expect(res.left().get().message).toMatch(/environment variable "MISSING" is required/);
});
test('getRequiredEnvVars collects required variables', () => {
process.env.A = '1';
process.env.B = '2';
const res = getRequiredEnvVars(['A', 'B'] as const);
expect(res.right().get()).toEqual({ A: '1', B: '2' });
});
});
|