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:
curo1305
2026-06-12 16:11:00 +02:00
parent bdd68b2edf
commit e6467d18cf
11 changed files with 26 additions and 1449 deletions
@@ -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')
})
})