/*! * @license * Copyright Squiz Australia Pty Ltd. All Rights Reserved. */ import { faker } from '@faker-js/faker/locale/en'; import { ENTITY_TYPES } from '../../../constants/Repository.constants'; import { JobContextDto, JobContextRecord } from '../JobContext'; export const createMockJobContextDto = (partialRecord: Partial = {}): JobContextDto => { const tenant = faker.string.uuid(); const environment: Record = partialRecord.environment ?? {}; if (!partialRecord.environment) { const numOfEnvVars = faker.number.int({ max: 5, min: 1 }); for (let i = 0; i < numOfEnvVars; i++) { const key = faker.lorem.word(); // Generate a random key const value = faker.lorem.word(); // Generate a random value environment[key] = value; } } const environmentMap: Record = {}; for (const key of Object.keys(environment)) { environmentMap[key] = { S: environment[key] }; } return { environment: { M: environmentMap, }, description: { S: partialRecord.description ?? faker.lorem.words(), }, pk: { S: partialRecord.pk ?? `${ENTITY_TYPES.context}~${tenant}`, }, sk: { S: partialRecord.sk ?? faker.lorem.word(), }, }; }; export const createMockJobContextDtos = (size?: number): Array => { const randomSize = size ?? faker.number.int({ max: 3, min: 1 }); return Array.from({ length: randomSize }).map(() => createMockJobContextDto()); };