Public Access
feat: enhance testing framework with new test cases and configurations
This commit is contained in:
1 parent
a37c093cc4
commit
ef8fe6f938
18 files changed
+793
-6
No files matched your search
@@ -0,0 +1,62 @@
|
||||
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
|
||||
})
|
||||
})
|
||||
Reference in new issue
Block a user