Skip to content
Snippets Groups Projects
vorgang.ts 2.67 KiB
Newer Older
  • Learn to ignore specific revisions
  • OZGCloud's avatar
    OZGCloud committed
    import { Antragsteller, Eingang, EingangHeader, ForwardRequest, Vorgang, VorgangListLinkRel, VorgangListResource, VorgangResource, VorgangStatus, VorgangWithEingang, VorgangWithEingangResource, ZustaendigeStelle } from '@goofy-client/vorgang-shared';
    
    import * as faker from 'faker';
    
    OZGCloud's avatar
    OZGCloud committed
    import { toResource } from 'libs/tech-shared/test/resource';
    
    
    export function createVorgang(): Vorgang {
    	return {
    
    		createdAt: faker.date.past(),
    
    OZGCloud's avatar
    OZGCloud committed
    		status: faker.random.arrayElement([VorgangStatus.NEU, VorgangStatus.ABGESCHLOSSEN, VorgangStatus.BESCHIEDEN, VorgangStatus.VERWORFEN]),
    
    		aktenzeichen: faker.lorem.word(),
    		nextFrist: faker.date.future()
    
    export function createVorgangWithEingang(): VorgangWithEingang {
    
    	return { ...createVorgangResource(), eingang: createEingang() }
    }
    
    export function createEingang(): Eingang {
    
    OZGCloud's avatar
    OZGCloud committed
    		id: faker.datatype.uuid(),
    
    		antragsteller: createAntragsteller(),
    
    		zustaendigeStelle: createZustaendigeStelle(),
    
    		header: createHeader(),
    		formData: null
    
    export function createAntragsteller(): Antragsteller {
    	return {
    		anrede: faker.lorem.word(),
    
    OZGCloud's avatar
    OZGCloud committed
    		geburtsdatum: faker.date.past().toDateString(),
    
    OZGCloud's avatar
    OZGCloud committed
    		geburtsname: faker.name.findName(),
    		geburtsort: faker.address.city(),
    		nachname: faker.name.lastName(),
    		vorname: faker.name.firstName(),
    
    		email: faker.internet.email(),
    
    		otherData: null
    
    export function createZustaendigeStelle(): ZustaendigeStelle {
    	return {
    		email: faker.internet.email()
    	}
    }
    
    
    export function createHeader(): EingangHeader {
    
    OZGCloud's avatar
    OZGCloud committed
    	return {
    
    		client: faker.lorem.word(),
    		clientId: faker.lorem.word(),
    
    OZGCloud's avatar
    OZGCloud committed
    		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);
    
    OZGCloud's avatar
    OZGCloud committed
    }
    
    
    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()
    
    OZGCloud's avatar
    OZGCloud committed
    }
    
    
    export function createVorgangWithEingangResource(linkRelations: string[] = []): VorgangWithEingangResource {
    	return toResource(createVorgangWithEingang(), linkRelations);
    
    OZGCloud's avatar
    OZGCloud committed
    }
    
    export function createVorgangForwardRequest(): ForwardRequest {
    
    	return {
    		email: faker.internet.email(),
    		password: faker.internet.password()
    	}