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
This commit is contained in:
Charles Bochet
2024-10-05 00:22:38 +02:00
committed by Charles Bochet
parent bd305c8432
commit d8c4af9279
148 changed files with 4357 additions and 2536 deletions

View File

@ -1,10 +1,8 @@
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import {
mockedObjectMetadataItems,
mockedPersonObjectMetadataItem,
} from '~/testing/mock-data/metadata';
import { getPeopleMock } from '~/testing/mock-data/people';
import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems';
import { getRecordNodeFromRecord } from '../getRecordNodeFromRecord';
const peopleMock = getPeopleMock();
@ -12,11 +10,18 @@ const peopleMock = getPeopleMock();
describe('getRecordNodeFromRecord', () => {
it('computes relation records cache references by default', () => {
// Given
const objectMetadataItems: ObjectMetadataItem[] = mockedObjectMetadataItems;
const objectMetadataItem: Pick<
ObjectMetadataItem,
'fields' | 'namePlural' | 'nameSingular'
> = mockedPersonObjectMetadataItem;
const objectMetadataItems: ObjectMetadataItem[] =
generatedMockObjectMetadataItems;
const objectMetadataItem:
| Pick<ObjectMetadataItem, 'fields' | 'namePlural' | 'nameSingular'>
| undefined = generatedMockObjectMetadataItems.find(
(item) => item.nameSingular === 'person',
);
if (!objectMetadataItem) {
throw new Error('Object metadata item not found');
}
const recordGqlFields = {
name: true,
company: true,
@ -47,11 +52,18 @@ describe('getRecordNodeFromRecord', () => {
it('does not compute relation records cache references when `computeReferences` is false', () => {
// Given
const objectMetadataItems: ObjectMetadataItem[] = mockedObjectMetadataItems;
const objectMetadataItem: Pick<
ObjectMetadataItem,
'fields' | 'namePlural' | 'nameSingular'
> = mockedPersonObjectMetadataItem;
const objectMetadataItems: ObjectMetadataItem[] =
generatedMockObjectMetadataItems;
const objectMetadataItem:
| Pick<ObjectMetadataItem, 'fields' | 'namePlural' | 'nameSingular'>
| undefined = generatedMockObjectMetadataItems.find(
(item) => item.nameSingular === 'person',
);
if (!objectMetadataItem) {
throw new Error('Object metadata item not found');
}
const recordGqlFields = {
name: true,
company: true,

View File

@ -65,7 +65,9 @@ export const getRecordNodeFromRecord = <T extends ObjectRecord>({
RelationDefinitionType.OneToMany
) {
const oneToManyObjectMetadataItem = objectMetadataItems.find(
(item) => item.namePlural === fieldName,
(item) =>
item.namePlural ===
field.relationDefinition?.targetObjectMetadata.namePlural,
);
if (!oneToManyObjectMetadataItem) {