update test

This commit is contained in:
2026-05-24 11:09:12 +02:00
parent c9f2863815
commit 264d9f1402
9 changed files with 575 additions and 138 deletions
+47
View File
@@ -0,0 +1,47 @@
import { vi } from 'vitest';
import { TestBed } from '@angular/core/testing';
import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { authGuard } from './auth.guard';
import { KeycloakService } from './keycloak.service';
describe('authGuard', () => {
let mockKeycloak: { isLoggedIn: ReturnType<typeof vi.fn>; login: ReturnType<typeof vi.fn> };
beforeEach(() => {
mockKeycloak = {
isLoggedIn: vi.fn().mockReturnValue(true),
login: vi.fn().mockResolvedValue(undefined),
};
TestBed.configureTestingModule({
providers: [{ provide: KeycloakService, useValue: mockKeycloak }],
});
});
const runGuard = () =>
TestBed.runInInjectionContext(() =>
authGuard({} as ActivatedRouteSnapshot, {} as RouterStateSnapshot),
);
it('returns true when the user is logged in', () => {
mockKeycloak.isLoggedIn.mockReturnValue(true);
expect(runGuard()).toBe(true);
});
it('returns false when the user is not logged in', () => {
mockKeycloak.isLoggedIn.mockReturnValue(false);
expect(runGuard()).toBe(false);
});
it('calls login() when the user is not logged in', () => {
mockKeycloak.isLoggedIn.mockReturnValue(false);
runGuard();
expect(mockKeycloak.login).toHaveBeenCalled();
});
it('does not call login() when the user is already logged in', () => {
mockKeycloak.isLoggedIn.mockReturnValue(true);
runGuard();
expect(mockKeycloak.login).not.toHaveBeenCalled();
});
});