1
import { useEnv } from '@directus/env';
2
import type { Logger } from 'pino';
3
import { afterEach, beforeAll, beforeEach, expect, test, vi } from 'vitest';
4
import { useLogger } from '../logger.js';
5
import { validateEnv } from './validate-env.js';
7
vi.mock('@directus/env');
11
let mockLogger: Logger<never>;
14
vi.spyOn(process, 'exit').mockImplementation(() => undefined as never);
16
vi.mocked(useEnv).mockReturnValue({
17
PRESENT_TEST_VARIABLE: 'true',
24
} as unknown as Logger<never>;
26
vi.mocked(useLogger).mockReturnValue(mockLogger);
33
test('should not have any error when key is present', () => {
34
validateEnv(['PRESENT_TEST_VARIABLE']);
36
expect(mockLogger.error).not.toHaveBeenCalled();
37
expect(process.exit).not.toHaveBeenCalled();
40
test('should have error when key is missing', () => {
41
validateEnv(['ABSENT_TEST_VARIABLE']);
43
expect(mockLogger.error).toHaveBeenCalled();
44
expect(process.exit).toHaveBeenCalled();