Files
twenty/packages/twenty-front/src/testing/jest/generateEmptyJestRecordNode.ts
T
Charles Bochet d8c4af9279 Fix all broken CIs (#7439)
Fix all the broken CIs :p

This includes an ongoing effort to simplify test maintenance by having 1
unique source of truth about metadata and data mocks (that will later be
generated from a unique source of seeds: dev = demo = test)

Regressions:
- Unit line coverage: 60 > 55
- Storybook Pages branch coverage: 40 > 35
We will need to write tests to increase those coverage
- RelationFieldDisplay perf: 0.2ms to 0.22ms > We might have a
regression here
- Removed perf story about RawJSON > We will need to re-add it
2024-10-05 00:23:23 +02:00

38 lines
1.3 KiB
TypeScript

import { getRecordNodeFromRecord } from '@/object-record/cache/utils/getRecordNodeFromRecord';
import { generateDepthOneRecordGqlFields } from '@/object-record/graphql/utils/generateDepthOneRecordGqlFields';
import { prefillRecord } from '@/object-record/utils/prefillRecord';
import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems';
export const generateEmptyJestRecordNode = ({
objectNameSingular,
input,
withDepthOneRelation = false,
}: {
objectNameSingular: string;
input: Record<string, unknown>;
withDepthOneRelation?: boolean;
}) => {
const objectMetadataItem = generatedMockObjectMetadataItems.find(
(item) => item.nameSingular === objectNameSingular,
);
if (!objectMetadataItem) {
throw new Error(
`ObjectMetadataItem not found for objectNameSingular: ${objectNameSingular} while generating empty Jest record node`,
);
}
const prefilledRecord = prefillRecord({ objectMetadataItem, input });
return getRecordNodeFromRecord({
record: prefilledRecord,
objectMetadataItem,
objectMetadataItems: generatedMockObjectMetadataItems,
recordGqlFields: withDepthOneRelation
? generateDepthOneRecordGqlFields({
objectMetadataItem,
})
: undefined,
});
};