@@ -1,39 +1,36 @@
|
||||
import { vi } from 'vitest';
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { vi } from 'vitest';
|
||||
import { KeycloakService } from './keycloak.service';
|
||||
|
||||
const mockKc = vi.hoisted(() => ({
|
||||
init: vi.fn(),
|
||||
login: vi.fn(),
|
||||
logout: vi.fn(),
|
||||
updateToken: vi.fn(),
|
||||
token: 'mock-token' as string | undefined,
|
||||
tokenParsed: { preferred_username: 'testuser' } as Record<string, string> | undefined,
|
||||
authenticated: true as boolean | undefined,
|
||||
onTokenExpired: undefined as (() => Promise<void> | void) | undefined,
|
||||
}));
|
||||
|
||||
const MockKeycloak = vi.hoisted(() => vi.fn());
|
||||
|
||||
vi.mock('keycloak-js', () => ({ default: MockKeycloak }));
|
||||
|
||||
describe('KeycloakService', () => {
|
||||
let service: KeycloakService;
|
||||
let mockKc: {
|
||||
init: ReturnType<typeof vi.fn>;
|
||||
login: ReturnType<typeof vi.fn>;
|
||||
logout: ReturnType<typeof vi.fn>;
|
||||
updateToken: ReturnType<typeof vi.fn>;
|
||||
token: string | undefined;
|
||||
tokenParsed: Record<string, string> | undefined;
|
||||
authenticated: boolean | undefined;
|
||||
onTokenExpired: (() => Promise<void> | void) | undefined;
|
||||
};
|
||||
|
||||
beforeEach(() => {
|
||||
MockKeycloak.mockImplementation(function () { return mockKc; });
|
||||
mockKc.init.mockResolvedValue(true);
|
||||
mockKc.login.mockResolvedValue(undefined);
|
||||
mockKc.logout.mockResolvedValue(undefined);
|
||||
mockKc.updateToken.mockResolvedValue(true);
|
||||
mockKc.token = 'mock-token';
|
||||
mockKc.tokenParsed = { preferred_username: 'testuser' };
|
||||
mockKc.authenticated = true;
|
||||
mockKc.onTokenExpired = undefined;
|
||||
mockKc = {
|
||||
init: vi.fn().mockResolvedValue(true),
|
||||
login: vi.fn().mockResolvedValue(undefined),
|
||||
logout: vi.fn().mockResolvedValue(undefined),
|
||||
updateToken: vi.fn().mockResolvedValue(true),
|
||||
token: 'mock-token',
|
||||
tokenParsed: { preferred_username: 'testuser' },
|
||||
authenticated: true,
|
||||
onTokenExpired: undefined,
|
||||
};
|
||||
|
||||
TestBed.resetTestingModule();
|
||||
TestBed.configureTestingModule({});
|
||||
service = TestBed.inject(KeycloakService);
|
||||
(service as any).keycloak = mockKc;
|
||||
});
|
||||
|
||||
afterEach(() => vi.clearAllMocks());
|
||||
|
||||
Reference in New Issue
Block a user