Files
brainwave/backend/src/config.test.ts
T
LaurensBartelds ef8fe6f938
Test / backend (push) Failing after 9s
Test / frontend (push) Failing after 14s
feat: enhance testing framework with new test cases and configurations
2026-04-26 21:45:02 +02:00

63 lines
2.1 KiB
TypeScript

import { describe, it, expect } from 'vitest'
describe('env helpers', () => {
it('uses default value when env var is missing', () => {
delete process.env.TEST_VAR_UNIQUE
const env = (key: string, defaultValue?: string): string => {
const value = process.env[key]
if (value === undefined || value === '') {
if (defaultValue !== undefined) return defaultValue
throw new Error(`Missing ${key}`)
}
return value
}
expect(env('TEST_VAR_UNIQUE', 'fallback')).toBe('fallback')
})
it('returns env value when present', () => {
process.env.TEST_VAR_UNIQUE = 'value'
const env = (key: string, defaultValue?: string): string => {
const value = process.env[key]
if (value === undefined || value === '') {
if (defaultValue !== undefined) return defaultValue
throw new Error(`Missing ${key}`)
}
return value
}
expect(env('TEST_VAR_UNIQUE')).toBe('value')
delete process.env.TEST_VAR_UNIQUE
})
it('envInt parses integer', () => {
process.env.TEST_INT = '42'
const envInt = (key: string, defaultValue?: number): number => {
const raw = process.env[key]
if (raw === undefined || raw === '') {
if (defaultValue !== undefined) return defaultValue
throw new Error(`Missing ${key}`)
}
const parsed = parseInt(raw, 10)
if (Number.isNaN(parsed)) throw new Error(`Invalid int ${key}`)
return parsed
}
expect(envInt('TEST_INT')).toBe(42)
delete process.env.TEST_INT
})
it('envInt throws on NaN', () => {
process.env.TEST_INT = 'abc'
const envInt = (key: string, defaultValue?: number): number => {
const raw = process.env[key]
if (raw === undefined || raw === '') {
if (defaultValue !== undefined) return defaultValue
throw new Error(`Missing ${key}`)
}
const parsed = parseInt(raw, 10)
if (Number.isNaN(parsed)) throw new Error(`Invalid int ${key}`)
return parsed
}
expect(() => envInt('TEST_INT')).toThrow('Invalid int TEST_INT')
delete process.env.TEST_INT
})
})