chore: bulk commit of pre-existing changes
Build & Deploy / Build & Push Docker Image (push) Successful in 48s
Test / API Unit Tests (push) Successful in 9m48s
Test / Marketplace Unit Tests (push) Successful in 9m38s
Test / Admin Unit Tests (push) Successful in 9m33s
Build & Deploy / Deploy to VPS (push) Has been cancelled
Test / Dashboard Unit Tests (push) Has been cancelled
Test / API Integration Tests (push) Has been cancelled
Build & Deploy / Build & Push Docker Image (push) Successful in 48s
Test / API Unit Tests (push) Successful in 9m48s
Test / Marketplace Unit Tests (push) Successful in 9m38s
Test / Admin Unit Tests (push) Successful in 9m33s
Build & Deploy / Deploy to VPS (push) Has been cancelled
Test / Dashboard Unit Tests (push) Has been cancelled
Test / API Integration Tests (push) Has been cancelled
Includes: - Admin dashboard layout and page updates - API account auth module (routes, schemas, service) - Dashboard sign-up form extraction, middleware refactor - Marketplace proxy and middleware updates - CORS origins expansion for dev environment - Seed email domain correction (.com → .ma) - Docs: create-account guide, fleet page, signup plan - Various UI component and layout refinements
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import { flattenInternalRoutes, isAllowedRoute, resolveAccessRedirect } from './DashboardAccessGuard'
|
||||
|
||||
describe('DashboardAccessGuard route helpers', () => {
|
||||
it('normalizes dashboard-prefixed menu routes before checking access', () => {
|
||||
const routes = flattenInternalRoutes([
|
||||
{
|
||||
id: 'dashboard',
|
||||
itemType: 'INTERNAL_PAGE',
|
||||
routeOrUrl: '/dashboard',
|
||||
children: [],
|
||||
},
|
||||
{
|
||||
id: 'fleet',
|
||||
itemType: 'INTERNAL_PAGE',
|
||||
routeOrUrl: '/dashboard/fleet',
|
||||
children: [],
|
||||
},
|
||||
{
|
||||
id: 'external',
|
||||
itemType: 'EXTERNAL_LINK',
|
||||
routeOrUrl: '/dashboard/dashboard',
|
||||
children: [],
|
||||
},
|
||||
])
|
||||
|
||||
expect(routes).toEqual(['/', '/fleet'])
|
||||
expect(isAllowedRoute('/', routes)).toBe(true)
|
||||
expect(isAllowedRoute('/fleet/123', routes)).toBe(true)
|
||||
})
|
||||
|
||||
it('does not redirect forever when an authenticated employee has no visible menu routes', () => {
|
||||
expect(resolveAccessRedirect('/', [])).toBeNull()
|
||||
expect(resolveAccessRedirect('/fleet', [])).toBeNull()
|
||||
})
|
||||
|
||||
it('redirects disallowed routes to the first visible internal route', () => {
|
||||
expect(resolveAccessRedirect('/settings', ['/', '/fleet'])).toBe('/')
|
||||
expect(resolveAccessRedirect('/fleet/123', ['/', '/fleet'])).toBeNull()
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user