import { eq } from 'drizzle-orm'; import { db } from '../src/db'; import { users } from '../src/db/schema/auth'; import { isPasswordHash, verifyPassword } from '../src/lib/auth/password'; async function runTest() { console.log('🔑 Testing password hashing...'); const [admin] = await db .select() .from(users) .where(eq(users.email, 'admin@ekb.com')) .limit(1); if (!admin) { console.error('❌ admin@ekb.com not found. Run npx tsx src/db/seed.ts first.'); process.exit(1); } if (!isPasswordHash(admin.passwordHash)) { console.error('❌ Admin password is not stored as a bcrypt hash.'); process.exit(1); } const validPassword = await verifyPassword('hashed_password_here', admin.passwordHash); const invalidPassword = await verifyPassword('wrong-password', admin.passwordHash); if (!validPassword || invalidPassword) { console.error('❌ Password verification returned unexpected results.'); process.exit(1); } console.log('✅ Password hashing checks passed.'); process.exit(0); } runTest().catch((error) => { console.error('❌ Test failed with error:', error); process.exit(1); });