fix frontend test debt
This commit is contained in:
@@ -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()
|
||||
})
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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')
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user