24 lines
712 B
JavaScript
24 lines
712 B
JavaScript
import { describe, it, expect } from 'vitest'
|
|
import { hashPassword, verifyPassword } from '../../server/utils/password.js'
|
|
|
|
describe('password', () => {
|
|
it('hashes and verifies password', () => {
|
|
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.each([
|
|
['a', ''],
|
|
['a', 'nocolon'],
|
|
])('rejects invalid stored format: password=%s, stored=%s', (password, stored) => {
|
|
expect(verifyPassword(password, stored)).toBe(false)
|
|
})
|
|
})
|