feat(09-04): delete AdminView + 4 tab files; update tests + router guard test
- git rm AdminView.vue, AdminUsersTab.vue, AdminQuotasTab.vue, AdminAiConfigTab.vue, AuditLogTab.vue - Migrate tab tests to import from views/admin/Admin*View.vue - Update router.guard.test.js: replace AdminView mock with AdminLayout + 5 admin view mocks - Add D-09 redirect test (admin on / → /admin) - Fix stale api/admin.js JSDoc consumer list - Fix SettingsView.vue stale AdminView comment reference
This commit is contained in:
@@ -11,7 +11,12 @@ vi.mock('../../views/auth/LoginView.vue', () => ({ default: { template: '<div />
|
||||
vi.mock('../../views/auth/RegisterView.vue', () => ({ default: { template: '<div />' } }))
|
||||
vi.mock('../../views/auth/PasswordResetView.vue', () => ({ default: { template: '<div />' } }))
|
||||
vi.mock('../../views/auth/NewPasswordView.vue', () => ({ default: { template: '<div />' } }))
|
||||
vi.mock('../../views/AdminView.vue', () => ({ default: { template: '<div />' } }))
|
||||
vi.mock('../../layouts/AdminLayout.vue', () => ({ default: { template: '<div><router-view /></div>' } }))
|
||||
vi.mock('../../views/admin/AdminOverviewView.vue', () => ({ default: { template: '<div />' } }))
|
||||
vi.mock('../../views/admin/AdminUsersView.vue', () => ({ default: { template: '<div />' } }))
|
||||
vi.mock('../../views/admin/AdminQuotasView.vue', () => ({ default: { template: '<div />' } }))
|
||||
vi.mock('../../views/admin/AdminAiView.vue', () => ({ default: { template: '<div />' } }))
|
||||
vi.mock('../../views/admin/AdminAuditView.vue', () => ({ default: { template: '<div />' } }))
|
||||
vi.mock('../../views/SharedView.vue', () => ({ default: { template: '<div />' } }))
|
||||
|
||||
// Heavy view components imported statically — stub them too
|
||||
@@ -78,4 +83,18 @@ describe('router — admin guard (SEC-07)', () => {
|
||||
await router.push('/admin')
|
||||
expect(router.currentRoute.value.path).toBe('/admin')
|
||||
})
|
||||
|
||||
it('redirects an admin user away from / to /admin (D-09)', async () => {
|
||||
// Arrange: admin trying to navigate to a regular user route
|
||||
useAuthStore.mockReturnValue({
|
||||
accessToken: 'fake-token',
|
||||
user: { id: '1', role: 'admin' },
|
||||
refresh: vi.fn().mockResolvedValue(undefined),
|
||||
})
|
||||
|
||||
// Act: admin attempts to visit the regular user home
|
||||
await router.push('/')
|
||||
// The D-09 guard branch returns { path: '/admin' }
|
||||
expect(router.currentRoute.value.path).toBe('/admin')
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user