import { AggregationMappingListLinkRel } from '@admin-client/reporting-shared'; import { faker } from '@faker-js/faker'; import { times } from 'lodash-es'; import { LinkRelationName } from '../../../tech-shared/src'; import { toResource } from '../../../tech-shared/test/resource'; import { AggregationMapping, AggregationMappingListResource, AggregationMappingResource } from '../src'; export function createAggregationMapping(): AggregationMapping { return { name: faker.word.noun(), formIdentifier: { formEngineName: faker.lorem.word(), formId: faker.string.uuid(), }, mappings: [ { sourcePath: faker.lorem.word(), targetPath: faker.lorem.word(), }, ], }; } export function createAggregationMappingResource(linkRelations: LinkRelationName[] = []): AggregationMappingResource { return toResource(createAggregationMapping(), linkRelations); } export function createAggregationMappingResources(linkRelations: LinkRelationName[] = []): AggregationMappingResource[] { return times(10, () => createAggregationMappingResource(linkRelations)); } export function createAggregationMappingListResource(linkRelations: LinkRelationName[] = []): AggregationMappingListResource { return toResource({}, linkRelations, { [AggregationMappingListLinkRel.LIST]: createAggregationMappingResources(), }); }