Skip to content
Snippets Groups Projects
Select Git revision
  • 31b61e4123acbd5c6f393bbc452c3072d78f5a03
  • main default protected
  • release
  • OZG-7689_erweitern
  • OZG-7679_dateien_uebertragen
  • 0.9.0
  • 0.8.0
  • 0.7.0
  • 0.6.0
  • 0.5.0
  • 0.4.1
  • 0.4.0
  • 0.3.0
  • 0.2.0
  • 0.1.0
  • 0.0.1
16 results

Jenkinsfile

Blame
  • vorgang.ts 5.32 KiB
    /*
     * 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 { faker } from '@faker-js/faker';
    import { times } from 'lodash-es';
    import { toResource } from '../../tech-shared/test/resource';
    import { VorgangListLinkRel } from '../src/lib/vorgang.linkrel';
    import {
      Antragsteller,
      ByStatus,
      Eingang,
      EingangHeader,
      ForwardRequest,
      Vorgang,
      VorgangListResource,
      VorgangResource,
      VorgangStatistic,
      VorgangStatus,
      VorgangWithEingang,
      VorgangWithEingangResource,
      ZustaendigeStelle,
    } from '../src/lib/vorgang.model';
    
    export function createVorgang(): Vorgang {
      return {
        createdAt: faker.date.past(),
        name: faker.lorem.word(),
        status: faker.helpers.arrayElement([
          VorgangStatus.NEU,
          VorgangStatus.ABGESCHLOSSEN,
          VorgangStatus.BESCHIEDEN,
          VorgangStatus.VERWORFEN,
        ]),
        aktenzeichen: faker.lorem.word(),
        nummer: faker.lorem.word(),
        nextFrist: faker.date.future(),
        hasPostfachNachricht: faker.datatype.boolean(),
        hasNewPostfachNachricht: faker.datatype.boolean(),
        antragBewilligt: false,
      };
    }
    
    export function createVorgangWithEingang(): VorgangWithEingang {
      return { ...createVorgangResource(), eingang: createEingang() };
    }
    
    export function createEingang(): Eingang {
      return {
        id: faker.datatype.uuid(),
        antragsteller: createAntragsteller(),
        zustaendigeStelle: createZustaendigeStelle(),
        header: createHeader(),
        formData: {},
        numberOfAttachments: getRandomNumber(1, 10),
        numberOfRepresentations: getRandomNumber(1, 10),
      };
    }
    
    function getRandomNumber(min: number, max: number): number {
      return faker.datatype.number({ min: min, max: max });
    }
    
    export function createAntragsteller(): Antragsteller {
      return {
        anrede: faker.lorem.word(),
        geburtsdatum: faker.date.past().toDateString(),
        geburtsname: faker.name.findName(),
        geburtsort: faker.address.city(),
        nachname: faker.name.lastName(),
        vorname: faker.name.firstName(),
        firmaName: faker.company.companyName(),
        email: faker.internet.email(),
        telefon: `+ ${faker.datatype.number(10)}`,
        strasse: faker.address.streetName(),
        hausnummer: `${faker.datatype.number(2)}a`,
        plz: faker.address.countryCode(),
        ort: faker.address.city(),
        otherData: new Map(),
      };
    }
    
    export function createZustaendigeStelle(): ZustaendigeStelle {
      return {
        email: faker.internet.email(),
      };
    }
    
    export function createHeader(): EingangHeader {
      return {
        client: faker.lorem.word(),
        clientId: faker.lorem.word(),
        createdAt: faker.date.past().toDateString(),
        customer: faker.lorem.word(),
        customerId: faker.lorem.word(),
        formId: faker.lorem.word(),
        formName: faker.lorem.word(),
        requestId: faker.lorem.word(),
        sender: faker.lorem.word(),
      };
    }
    
    export function createVorgangResource(linkRelations: string[] = []): VorgangResource {
      return toResource(createVorgang(), linkRelations);
    }
    
    export function createVorgangResources(linkRelations: string[] = []): VorgangResource[] {
      return times(10, () => toResource(createVorgangResource(), [...linkRelations]));
    }
    
    export function createVorgangListResource(linkRelations: string[] = []): VorgangListResource {
      return toResource({}, [...linkRelations], {
        [VorgangListLinkRel.VORGANG_HEADER_LIST]: createVorgangResources([...linkRelations]),
      });
    }
    
    export function createVorgangListResourceWithResource(
      resources: VorgangResource[],
      linkRelations: string[] = [],
    ): VorgangListResource {
      return toResource({}, [...linkRelations], {
        [VorgangListLinkRel.VORGANG_HEADER_LIST]: resources,
      });
    }
    
    export function createVorgangStatistic(): VorgangStatistic {
      return {
        byStatus: createByStatus(),
        wiedervorlagen: faker.datatype.number(),
        existsWiedervorlageOverdue: false,
        ungeleseneNachrichten: faker.datatype.number(),
      };
    }
    
    function createByStatus(): ByStatus {
      return {
        neu: faker.datatype.number(),
        angenommen: faker.datatype.number(),
        inBearbeitung: faker.datatype.number(),
        beschieden: faker.datatype.number(),
        abgeschlossen: faker.datatype.number(),
        verworfen: faker.datatype.number(),
        zuLoeschen: faker.datatype.number(),
      };
    }
    
    export function createVorgangWithEingangResource(
      linkRelations: string[] = [],
    ): VorgangWithEingangResource {
      return toResource(createVorgangWithEingang(), linkRelations);
    }
    
    export function createVorgangForwardRequest(): ForwardRequest {
      return {
        email: faker.internet.email(),
        password: faker.internet.password(),
      };
    }