import { ADMIN_SSO_DEFAULT_REDIRECT, isAdminSsoRequest, resolveAdminSsoRedirect, } from '@test-source/apps/web-antdv-next/src/router/admin-sso'; import { describe, expect, it } from 'vitest'; describe('admin SSO route helpers', () => { it('recognizes only the explicit SSO bootstrap flag', () => { expect(isAdminSsoRequest('1')).toBe(true); expect(isAdminSsoRequest(['1'])).toBe(true); expect(isAdminSsoRequest('true')).toBe(false); expect(isAdminSsoRequest(undefined)).toBe(false); }); it('accepts the Blog management route in plain or encoded form', () => { expect(resolveAdminSsoRedirect('/blog/article')).toBe( ADMIN_SSO_DEFAULT_REDIRECT, ); expect(resolveAdminSsoRedirect('%2Fblog%2Farticle')).toBe( ADMIN_SSO_DEFAULT_REDIRECT, ); }); it.each([ 'https://evil.example/', 'https%3A%2F%2Fevil.example%2F', '//evil.example/', '%2F%2Fevil.example%2F', '/qqbot/account', '/blog/article/61', 'broken', undefined, ])('falls back to the fixed Blog management route for %s', (value) => { expect(resolveAdminSsoRedirect(value)).toBe(ADMIN_SSO_DEFAULT_REDIRECT); }); });