22 lines
660 B
JavaScript
22 lines
660 B
JavaScript
import { describe, it, expect } from 'vitest'
|
|
import { hashPassword, verifyPassword } from '../../server/utils/password.js'
|
|
|
|
describe('password', () => {
|
|
it('hashes and verifies', () => {
|
|
const password = 'secret123'
|
|
const stored = hashPassword(password)
|
|
expect(stored).toContain(':')
|
|
expect(verifyPassword(password, stored)).toBe(true)
|
|
})
|
|
|
|
it('rejects wrong password', () => {
|
|
const stored = hashPassword('right')
|
|
expect(verifyPassword('wrong', stored)).toBe(false)
|
|
})
|
|
|
|
it('rejects invalid stored format', () => {
|
|
expect(verifyPassword('a', '')).toBe(false)
|
|
expect(verifyPassword('a', 'nocolon')).toBe(false)
|
|
})
|
|
})
|