| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'
- import { getToken, setToken, removeToken } from '@/utils/auth'
- describe('Auth Utils', () => {
- const mockToken = 'mock-jwt-token-12345'
- beforeEach(() => {
- // Clear cookies before each test
- document.cookie.split(';').forEach((c) => {
- document.cookie = c.replace(/^ +/, '').replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/')
- })
- })
- afterEach(() => {
- // Clean up after each test
- document.cookie.split(';').forEach((c) => {
- document.cookie = c.replace(/^ +/, '').replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/')
- })
- })
- describe('Token Management (Cookie-based)', () => {
- it('should set and get token', () => {
- setToken(mockToken)
- expect(getToken()).toBe(mockToken)
- })
- it('should set token with custom expiresIn', () => {
- const customExpiry = 7200 // 2 hours
- setToken(mockToken, customExpiry)
- expect(getToken()).toBe(mockToken)
- })
- it('should return null when token is not set', () => {
- expect(getToken()).toBeNull()
- })
- it('should remove token', () => {
- setToken(mockToken)
- expect(getToken()).toBe(mockToken)
- removeToken()
- expect(getToken()).toBeNull()
- })
- it('should overwrite existing token', () => {
- setToken(mockToken)
- const newToken = 'new-token-54321'
- setToken(newToken)
- expect(getToken()).toBe(newToken)
- })
- it('should handle special characters in token', () => {
- const specialToken = 'token+with/special=chars'
- setToken(specialToken)
- expect(getToken()).toBe(specialToken)
- })
- })
- })
|