Select Git revision
keycloak.resource.service.spec.ts
-
Alexander Reifschneider authoredAlexander Reifschneider authored
keycloak.resource.service.spec.ts 7.76 KiB
/*
* Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
import { TestBed, fakeAsync, tick } from '@angular/core/testing';
import { faker } from '@faker-js/faker';
import { cold } from 'jest-marbles';
import { StateResource, createEmptyStateResource, createStateResource } from 'libs/tech-shared/src/lib/resource/resource.util';
import { Dummy, createDummy } from 'libs/tech-shared/test/dummy';
import { singleCold } from 'libs/tech-shared/test/marbles';
import { Observable, of } from 'rxjs';
import { KeycloakResourceService } from './keycloak.resource.service';
import * as ResourceUtil from 'libs/tech-shared/src/lib/resource/resource.util';
describe('KeycloakResourceService', () => {
let service: KeycloakResourceService<unknown>;
const id: string = faker.word.sample();
const emptyStateResource: StateResource<unknown[]> = createEmptyStateResource<unknown[]>();
const dummyObject: Dummy = createDummy();
const dummyAction: Observable<Dummy> = of(dummyObject);
beforeEach(() => {
TestBed.configureTestingModule({
providers: [TestResourceService],
});
service = TestBed.inject(TestResourceService);
});
describe('getAll', () => {
const stateResource: StateResource<unknown> = createStateResource([]);
beforeEach(() => {
service.handleChanges = jest.fn().mockReturnValue(singleCold(stateResource));
});
it('should return stateResource', () => {
const stateResource$: Observable<StateResource<unknown[]>> = service.getAll();
expect(stateResource$).toBeObservable(singleCold(stateResource));
});
it('should call handleChanges ', fakeAsync(() => {
service.getAll().subscribe();
expect(service.handleChanges).toHaveBeenCalled();
}));
});