diff --git a/frontend/src/components/layouts/__tests__/MainLayout.spec.ts b/frontend/src/components/layouts/__tests__/MainLayout.spec.ts index 208ad78..9a6fcb8 100644 --- a/frontend/src/components/layouts/__tests__/MainLayout.spec.ts +++ b/frontend/src/components/layouts/__tests__/MainLayout.spec.ts @@ -1,8 +1,19 @@ import { describe, it, expect, beforeEach } from 'vitest' +import { setActivePinia, createPinia } from 'pinia' import { mount } from '@vue/test-utils' import { createRouter, createMemoryHistory } from 'vue-router' import MainLayout from '../MainLayout.vue' +Object.defineProperty(window, 'matchMedia', { + writable: true, + value: (query: string) => ({ + matches: false, media: query, onchange: null, + addListener: () => {}, removeListener: () => {}, + addEventListener: () => {}, removeEventListener: () => {}, + dispatchEvent: () => false, + }), +}) + function createTestRouter() { return createRouter({ history: createMemoryHistory(), @@ -17,6 +28,7 @@ function createTestRouter() { describe('MainLayout', () => { beforeEach(() => { + setActivePinia(createPinia()) localStorage.clear() }) diff --git a/frontend/src/stores/__tests__/user.spec.ts b/frontend/src/stores/__tests__/user.spec.ts index 8c81c90..c6ac748 100644 --- a/frontend/src/stores/__tests__/user.spec.ts +++ b/frontend/src/stores/__tests__/user.spec.ts @@ -29,13 +29,13 @@ describe('useUserStore', () => { }) it('restores token from localStorage', () => { - localStorage.setItem('access_token', 'saved-token') - localStorage.setItem('refresh_token', 'saved-refresh') + localStorage.setItem('access_token', 'header.payload.signature') + localStorage.setItem('refresh_token', 'rh.rp.rs') const store = useUserStore() - expect(store.token).toBe('saved-token') - expect(store.refreshToken).toBe('saved-refresh') + expect(store.token).toBe('header.payload.signature') + expect(store.refreshToken).toBe('rh.rp.rs') expect(store.isLoggedIn).toBe(true) }) @@ -63,12 +63,12 @@ describe('useUserStore', () => { it('sets tokens in store and localStorage', () => { const store = useUserStore() - store.setToken('new-access', 'new-refresh') + store.setToken('header.payload.signature', 'rh.rp.rs') - expect(store.token).toBe('new-access') - expect(store.refreshToken).toBe('new-refresh') - expect(localStorage.getItem('access_token')).toBe('new-access') - expect(localStorage.getItem('refresh_token')).toBe('new-refresh') + expect(store.token).toBe('header.payload.signature') + expect(store.refreshToken).toBe('rh.rp.rs') + expect(localStorage.getItem('access_token')).toBe('header.payload.signature') + expect(localStorage.getItem('refresh_token')).toBe('rh.rp.rs') expect(store.isLoggedIn).toBe(true) }) }) @@ -90,7 +90,7 @@ describe('useUserStore', () => { describe('logout', () => { it('clears all state and localStorage', () => { const store = useUserStore() - store.setToken('tok', 'ref') + store.setToken('h.p.s', 'r.p.s') store.setUser({ id: 1, username: 'a', email: 'a@a.com', role: 'admin', status: 1 }) store.logout() diff --git a/frontend/src/utils/__tests__/request.spec.ts b/frontend/src/utils/__tests__/request.spec.ts index 475fa89..c6b82f9 100644 --- a/frontend/src/utils/__tests__/request.spec.ts +++ b/frontend/src/utils/__tests__/request.spec.ts @@ -13,7 +13,7 @@ describe('request utils', () => { vi.restoreAllMocks() // Mock window.location Object.defineProperty(window, 'location', { - value: { href: '' }, + value: { href: '', pathname: '/', search: '' }, writable: true, }) }) @@ -95,7 +95,7 @@ describe('request utils', () => { expect(localStorage.getItem('access_token')).toBeNull() expect(localStorage.getItem('refresh_token')).toBeNull() expect(localStorage.getItem('user')).toBeNull() - expect(window.location.href).toBe('/login') + expect(window.location.href).toBe('/login?redirect=%2F') }) })