| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- import { describe, it, expect, beforeEach, afterEach } from 'vitest'
- import {
- getToken,
- setToken,
- removeToken,
- getRefreshToken,
- setRefreshToken,
- removeRefreshToken
- } from '@/utils/auth'
- describe('Auth Utils', () => {
- const TOKEN_KEY = 'Admin-Token'
- const REFRESH_TOKEN_KEY = 'Admin-Refresh-Token'
- const mockToken = 'mock-jwt-token-12345'
- const mockRefreshToken = 'mock-refresh-token-67890'
- beforeEach(() => {
- // Clear localStorage before each test
- localStorage.clear()
- })
- afterEach(() => {
- // Clean up after each test
- localStorage.clear()
- })
- describe('Token Management', () => {
- it('should set and get token', () => {
- setToken(mockToken)
- expect(getToken()).toBe(mockToken)
- expect(localStorage.getItem(TOKEN_KEY)).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()
- expect(localStorage.getItem(TOKEN_KEY)).toBeNull()
- })
- it('should overwrite existing token', () => {
- setToken(mockToken)
- const newToken = 'new-token-54321'
- setToken(newToken)
- expect(getToken()).toBe(newToken)
- })
- })
- describe('Refresh Token Management', () => {
- it('should set and get refresh token', () => {
- setRefreshToken(mockRefreshToken)
- expect(getRefreshToken()).toBe(mockRefreshToken)
- expect(localStorage.getItem(REFRESH_TOKEN_KEY)).toBe(mockRefreshToken)
- })
- it('should return null when refresh token is not set', () => {
- expect(getRefreshToken()).toBeNull()
- })
- it('should remove refresh token', () => {
- setRefreshToken(mockRefreshToken)
- expect(getRefreshToken()).toBe(mockRefreshToken)
- removeRefreshToken()
- expect(getRefreshToken()).toBeNull()
- expect(localStorage.getItem(REFRESH_TOKEN_KEY)).toBeNull()
- })
- it('should overwrite existing refresh token', () => {
- setRefreshToken(mockRefreshToken)
- const newRefreshToken = 'new-refresh-token-11111'
- setRefreshToken(newRefreshToken)
- expect(getRefreshToken()).toBe(newRefreshToken)
- })
- })
- describe('Token Isolation', () => {
- it('should keep tokens independent', () => {
- setToken(mockToken)
- setRefreshToken(mockRefreshToken)
- expect(getToken()).toBe(mockToken)
- expect(getRefreshToken()).toBe(mockRefreshToken)
- removeToken()
- expect(getToken()).toBeNull()
- expect(getRefreshToken()).toBe(mockRefreshToken) // Should still exist
- })
- it('should remove refresh token without affecting access token', () => {
- setToken(mockToken)
- setRefreshToken(mockRefreshToken)
- removeRefreshToken()
- expect(getRefreshToken()).toBeNull()
- expect(getToken()).toBe(mockToken) // Should still exist
- })
- })
- })
|