UNPKG

@networkpro/web

Version:

Locking Down Networks, Unlocking Confidence™ | Security, Networking, Privacy — Network Pro Strategies

50 lines (41 loc) 1.45 kB
/* ========================================================================== tests/unit/server/checkEnv.test.js Copyright © 2025 Network Pro Strategies (Network Pro™) SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later This file is part of Network Pro. ========================================================================== */ /** * Unit test for scripts/checkEnv.js */ import { afterEach, describe, expect, it } from 'vitest'; import { checkEnv } from '../../../scripts/checkEnv.js'; describe('checkEnv()', () => { const originalEnv = process.env.ENV_MODE; afterEach(() => { if (originalEnv === undefined) { delete process.env.ENV_MODE; } else { process.env.ENV_MODE = originalEnv; } }); it("should default to 'dev' if ENV_MODE is not set", () => { delete process.env.ENV_MODE; const result = checkEnv(); expect(result.mode).toBe('dev'); expect(result.valid).toBe(true); expect(result.wasDefaulted).toBe(true); }); it('should validate a correct ENV_MODE', () => { process.env.ENV_MODE = 'ci'; const result = checkEnv(); expect(result.mode).toBe('ci'); expect(result.valid).toBe(true); expect(result.wasDefaulted).toBe(false); }); it('should return invalid for an unknown ENV_MODE', () => { process.env.ENV_MODE = 'banana'; const result = checkEnv(); expect(result.valid).toBe(false); expect(result.allowed).toContain('dev'); }); });