task-5 fix: isRole, login redirect, create-user script per cliente e trainer
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { canAccessAdminPath, isProtectedPath, landingFor } from '../../src/lib/auth';
|
||||
import { canAccessAdminPath, isProtectedPath, landingFor, isRole } from '../../src/lib/auth';
|
||||
|
||||
describe('accesso alle rotte longevity', () => {
|
||||
it('il cliente entra nel proprio spazio', () => {
|
||||
@@ -21,6 +21,12 @@ describe('accesso alle rotte longevity', () => {
|
||||
expect(canAccessAdminPath('cliente', '/admin/posts')).toBe(false);
|
||||
});
|
||||
|
||||
it('il trainer non entra nelle altre piattaforme ne nel blog', () => {
|
||||
expect(canAccessAdminPath('trainer', '/campus')).toBe(false);
|
||||
expect(canAccessAdminPath('trainer', '/admin/content')).toBe(false);
|
||||
expect(canAccessAdminPath('trainer', '/admin/posts')).toBe(false);
|
||||
});
|
||||
|
||||
it('il ruolo piattaforme non eredita longevity', () => {
|
||||
expect(canAccessAdminPath('piattaforme', '/longevity/gestionale')).toBe(false);
|
||||
});
|
||||
@@ -68,3 +74,22 @@ describe('landingFor — indirizzo di atterraggio per ruolo', () => {
|
||||
expect(landingFor('user')).toBe('/admin');
|
||||
});
|
||||
});
|
||||
|
||||
describe('isRole — validazione dei ruoli', () => {
|
||||
it('cliente e trainer sono ruoli validi', () => {
|
||||
expect(isRole('cliente')).toBe(true);
|
||||
expect(isRole('trainer')).toBe(true);
|
||||
});
|
||||
|
||||
it('i ruoli già esistenti restano validi', () => {
|
||||
expect(isRole('admin')).toBe(true);
|
||||
expect(isRole('superuser')).toBe(true);
|
||||
expect(isRole('user')).toBe(true);
|
||||
expect(isRole('piattaforme')).toBe(true);
|
||||
});
|
||||
|
||||
it('campus e stringhe inventate non sono ruoli', () => {
|
||||
expect(isRole('campus')).toBe(false);
|
||||
expect(isRole('qualsiasi-cosa')).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user