Skip to content
Snippets Groups Projects
vorgang-util.spec.ts 4.5 KiB
Newer Older
  • Learn to ignore specific revisions
  • /*
     * Copyright (C) 2022 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 { EMPTY_STRING } from '@alfa-client/tech-shared';
    import { Antragsteller, Vorgang, VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
    
    OZGCloud's avatar
    OZGCloud committed
    import { NavigationEnd } from '@angular/router';
    
    OZGCloud's avatar
    OZGCloud committed
    import { createAntragsteller, createEingang, createVorgangResource, createVorgangWithEingangResource, } from 'libs/vorgang-shared/test/vorgang';
    import { getAktenzeichenText, getEmpfaenger, isVorgangSearchRoute, VORGANG_KEIN_AKTENZEICHEN_ZUGEWIESEN, } from './vorgang-util';
    
    OZGCloud's avatar
    OZGCloud committed
    
    describe('Vorgang Util', () => {
    
      describe('getAktenzeichenText', () => {
        it('should return Aktenzeichen if Vorgang does contain one', () => {
          const vorgang: Vorgang = createVorgangResource();
    
    OZGCloud's avatar
    OZGCloud committed
    
    
          const result: string = getAktenzeichenText(vorgang);
    
    OZGCloud's avatar
    OZGCloud committed
    
    
          expect(result).toEqual(vorgang.aktenzeichen);
        });
    
    OZGCloud's avatar
    OZGCloud committed
    
    
        it('should return default text if Vorgang does not contain a Aktenzeichen', () => {
          const vorgang: Vorgang = { ...createVorgangResource(), aktenzeichen: null };
    
    OZGCloud's avatar
    OZGCloud committed
    
    
          const result: string = getAktenzeichenText(vorgang);
    
    OZGCloud's avatar
    OZGCloud committed
    
    
          expect(result).toEqual(VORGANG_KEIN_AKTENZEICHEN_ZUGEWIESEN);
        });
      });
    
    OZGCloud's avatar
    OZGCloud committed
      describe('isSearchRoute', () => {
    
        it('should return true', () => {
    
    OZGCloud's avatar
    OZGCloud committed
          const searchNavigationEnd: NavigationEnd = new NavigationEnd(1, '/alle/search', '');
    
    
          const result: boolean = isVorgangSearchRoute(searchNavigationEnd);
    
    OZGCloud's avatar
    OZGCloud committed
    
          expect(result).toBeTruthy();
        });
    
    
        it('should return false', () => {
    
    OZGCloud's avatar
    OZGCloud committed
          const notSearchNavigationEnd: NavigationEnd = new NavigationEnd(1, '/alle', '');
    
    
          const result: boolean = isVorgangSearchRoute(notSearchNavigationEnd);
    
    OZGCloud's avatar
    OZGCloud committed
          expect(result).toBeFalsy();
    
      describe('getEmpfaenger', () => {
        it('should return nachname only if exists', () => {
          const antragsteller: Antragsteller = { ...createAntragsteller(), vorname: undefined };
          const vorgangWithEingangResource: VorgangWithEingangResource =
            createWithAntragsteller(antragsteller);
    
          const empfaenger: string = getEmpfaenger(vorgangWithEingangResource);
    
          expect(empfaenger).toEqual(antragsteller.nachname);
        });
    
        it('should return vorname only if exists', () => {
          const antragsteller: Antragsteller = { ...createAntragsteller(), nachname: undefined };
          const vorgangWithEingangResource: VorgangWithEingangResource =
            createWithAntragsteller(antragsteller);
    
          const empfaenger: string = getEmpfaenger(vorgangWithEingangResource);
    
          expect(empfaenger).toEqual(antragsteller.vorname);
        });
    
        it('should return name and vorname if exists', () => {
          const vorgangWithEingangResource: VorgangWithEingangResource =
            createVorgangWithEingangResource();
    
          const empfaenger: string = getEmpfaenger(vorgangWithEingangResource);
    
          expect(empfaenger).toEqual(
            `${vorgangWithEingangResource.eingang.antragsteller.vorname} ${vorgangWithEingangResource.eingang.antragsteller.nachname}`,
          );
        });
    
        it('should return empty string if none exists', () => {
          const antragsteller: Antragsteller = {
            ...createAntragsteller(),
            nachname: undefined,
            vorname: undefined,
          };
          const vorgangWithEingangResource: VorgangWithEingangResource =
            createWithAntragsteller(antragsteller);
    
          const empfaenger: string = getEmpfaenger(vorgangWithEingangResource);
    
          expect(empfaenger).toEqual(EMPTY_STRING);
        });
    
        function createWithAntragsteller(antragsteller: Antragsteller): VorgangWithEingangResource {
          return {
            ...createVorgangWithEingangResource(),
            eingang: { ...createEingang(), antragsteller },
          };
        }
      });
    
    OZGCloud's avatar
    OZGCloud committed
    });