Files
kestrelos/test/unit/session.spec.js
Madison Grubb b7046dc0e6 initial commit
2026-02-10 23:32:26 -05:00

40 lines
1.1 KiB
JavaScript

import { describe, it, expect, beforeEach, afterEach } from 'vitest'
import { getSessionMaxAgeDays } from '../../server/utils/session.js'
describe('session', () => {
const origEnv = process.env
beforeEach(() => {
process.env = { ...origEnv }
})
afterEach(() => {
process.env = origEnv
})
it('returns default 7 days when SESSION_MAX_AGE_DAYS not set', () => {
delete process.env.SESSION_MAX_AGE_DAYS
expect(getSessionMaxAgeDays()).toBe(7)
})
it('returns default when SESSION_MAX_AGE_DAYS is NaN', () => {
process.env.SESSION_MAX_AGE_DAYS = 'invalid'
expect(getSessionMaxAgeDays()).toBe(7)
})
it('clamps to MIN_DAYS (1) when value below', () => {
process.env.SESSION_MAX_AGE_DAYS = '0'
expect(getSessionMaxAgeDays()).toBe(1)
})
it('clamps to MAX_DAYS (365) when value above', () => {
process.env.SESSION_MAX_AGE_DAYS = '400'
expect(getSessionMaxAgeDays()).toBe(365)
})
it('returns parsed value when within range', () => {
process.env.SESSION_MAX_AGE_DAYS = '14'
expect(getSessionMaxAgeDays()).toBe(14)
})
})