Commit inicial - upload de todos os arquivos da pasta

This commit is contained in:
2026-06-13 17:32:41 -03:00
commit 759e2663ec
311 changed files with 31868 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
import { describe, expect, it } from 'vitest';
import { breadcrumbRoutes } from '../breadcrumbs';
const expectedRoutes = [
'/',
'/entregaveis',
'/entregaveis/:id',
'/ordens-servico',
'/sprints',
'/profissionais',
'/usuarios',
'/usuarios/novo',
'/usuarios/:id/editar',
'/clientes',
'/configuracoes',
];
describe('breadcrumbRoutes', () => {
it('cobre todas as rotas do sistema', () => {
const patterns = breadcrumbRoutes.map((r) => r.pattern);
for (const route of expectedRoutes) {
expect(patterns).toContain(route);
}
});
it('cada configuração tem pelo menos um item', () => {
for (const route of breadcrumbRoutes) {
expect(route.items.length).toBeGreaterThanOrEqual(1);
}
});
it('último item de cada configuração não tem "to"', () => {
for (const route of breadcrumbRoutes) {
const lastItem = route.items[route.items.length - 1];
expect(lastItem.to).toBeUndefined();
}
});
it('rotas com parâmetros usam padrão :param', () => {
const dynamicRoutes = breadcrumbRoutes.filter((r) => r.pattern.includes(':'));
expect(dynamicRoutes.length).toBeGreaterThan(0);
for (const route of dynamicRoutes) {
expect(route.pattern).toMatch(/:\w+/);
}
});
it('Dashboard é sempre a raiz dos breadcrumbs', () => {
for (const route of breadcrumbRoutes) {
expect(route.items[0].label).toBe('Dashboard');
}
});
it('página Dashboard não tem link no item', () => {
const dashboardRoute = breadcrumbRoutes.find((r) => r.pattern === '/');
expect(dashboardRoute?.items[0].to).toBeUndefined();
});
it('não inclui rotas de autenticação', () => {
const patterns = breadcrumbRoutes.map((r) => r.pattern);
expect(patterns).not.toContain('/login');
expect(patterns).not.toContain('/trocar-senha');
});
});