import { describe, it, expect } from 'vitest' import { configureStore } from '@reduxjs/toolkit' import authReducer, { setCredentials, clearCredentials, UserInfoVO } from '../store/slices/authSlice' function makeStore() { return configureStore({ reducer: { auth: authReducer } }) } const sampleUserInfo: UserInfoVO = { userId: 'u1', username: 'admin', userType: '普通用户', language: '中文', brandId: 'b1' } describe('authSlice', () => { it('setCredentials_updatesAllStateFields', () => { const store = makeStore() store.dispatch(setCredentials({ accessToken: 't1', refreshToken: 'r1', userInfo: sampleUserInfo })) const state = store.getState().auth expect(state.accessToken).toBe('t1') expect(state.refreshToken).toBe('r1') expect(state.userInfo?.userId).toBe('u1') }) it('clearCredentials_resetsToNull', () => { const store = makeStore() store.dispatch(setCredentials({ accessToken: 't1', refreshToken: 'r1', userInfo: sampleUserInfo })) store.dispatch(clearCredentials()) const state = store.getState().auth expect(state.accessToken).toBeNull() expect(state.refreshToken).toBeNull() expect(state.userInfo).toBeNull() }) })