/* @vitest-environment node */ import { describe, it, expect } from "vitest"; import { PASSWORD_POLICY, validateNewPassword } from "@/lib/auth/passwordPolicy"; import { generateAdminTemporaryPassword } from "./adminTempPassword.js"; describe("lib/auth/adminTempPassword", () => { it("generates passwords that pass the configured password policy", () => { for (let i = 0; i < 25; i += 1) { const password = generateAdminTemporaryPassword(); const result = validateNewPassword({ newPassword: password }); expect(password.length).toBeGreaterThanOrEqual(PASSWORD_POLICY.minLength); expect(result.ok).toBe(true); } }); it("respects custom length but never below the policy minimum", () => { const belowMin = generateAdminTemporaryPassword({ length: PASSWORD_POLICY.minLength - 3, }); const custom = generateAdminTemporaryPassword({ length: PASSWORD_POLICY.minLength + 4, }); expect(belowMin.length).toBeGreaterThanOrEqual(PASSWORD_POLICY.minLength); expect(custom.length).toBe(PASSWORD_POLICY.minLength + 4); }); });