Add scouthub-magazzino-fe
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { ActivatedRouteSnapshot, provideRouter, Router, RouterStateSnapshot, UrlTree } from '@angular/router';
|
||||
import Keycloak from 'keycloak-js';
|
||||
|
||||
import { requireModeratoreGuard } from './require-moderatore.guard';
|
||||
|
||||
const route = {} as ActivatedRouteSnapshot;
|
||||
const state = {} as RouterStateSnapshot;
|
||||
|
||||
function setup(roles: string[]): void {
|
||||
const keycloakMock = { tokenParsed: { realm_access: { roles } } };
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
providers: [provideRouter([]), { provide: Keycloak, useValue: keycloakMock }]
|
||||
});
|
||||
}
|
||||
|
||||
describe('requireModeratoreGuard', () => {
|
||||
it('lascia proseguire la navigazione se l\'utente ha il ruolo moderatore', () => {
|
||||
setup(['moderatore']);
|
||||
|
||||
const result = TestBed.runInInjectionContext(() => requireModeratoreGuard(route, state));
|
||||
|
||||
expect(result).toBe(true);
|
||||
});
|
||||
|
||||
it('reindirizza alla home per un utente senza il ruolo moderatore', () => {
|
||||
setup(['censito']);
|
||||
|
||||
const result = TestBed.runInInjectionContext(() => requireModeratoreGuard(route, state));
|
||||
|
||||
const router = TestBed.inject(Router);
|
||||
expect((result as UrlTree).toString()).toBe(router.parseUrl('/').toString());
|
||||
});
|
||||
|
||||
it('reindirizza alla home se il token non ha ruoli', () => {
|
||||
setup([]);
|
||||
|
||||
const result = TestBed.runInInjectionContext(() => requireModeratoreGuard(route, state));
|
||||
|
||||
const router = TestBed.inject(Router);
|
||||
expect((result as UrlTree).toString()).toBe(router.parseUrl('/').toString());
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user