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)
  })
})
