/* * 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 { StateResource, createStateResource } from '@alfa-client/tech-shared'; import { Mock, mock } from '@alfa-client/test-utils'; import { TestBed } from '@angular/core/testing'; import { singleCold, singleHot } from 'libs/tech-shared/test/marbles'; import { Observable } from 'rxjs'; import { createConfigurationResource } from '../../test/configuration'; import { ConfigurationResourceService } from './configuration-resource.service'; import { ConfigurationResource } from './configuration.model'; import { ConfigurationService } from './configuration.service'; describe('ConfigurationService', () => { let service: ConfigurationService; let configurationResourceService: Mock<ConfigurationResourceService>; beforeEach(() => { configurationResourceService = mock(ConfigurationResourceService); TestBed.configureTestingModule({ providers: [ConfigurationService, { provide: ConfigurationResourceService, useValue: configurationResourceService }], }); service = TestBed.inject(ConfigurationService); }); it('should create', () => { expect(service).toBeTruthy(); }); describe('get', () => { const configurationResource: ConfigurationResource = createConfigurationResource(); const configurationStateResource: StateResource<ConfigurationResource> = createStateResource(configurationResource); beforeEach(() => { configurationResourceService.get = jest.fn().mockReturnValue(singleHot(configurationStateResource)); }); it('should call resourceService', () => { service.get(); expect(configurationResourceService.get).toHaveBeenCalled(); }); it('should return value', () => { const loadedConfigurationResource: Observable<StateResource<ConfigurationResource>> = service.get(); expect(loadedConfigurationResource).toBeObservable(singleCold(configurationStateResource)); }); }); });