e995e84621
https://github.com/user-attachments/assets/09550210-76c5-4a40-83b6-9ab785ca10c3 https://github.com/user-attachments/assets/352427fc-0a2a-4f1b-86e9-db99daea0018 --------- Co-authored-by: Félix Malfait <felix.malfait@gmail.com> Co-authored-by: Félix Malfait <felix@twenty.com>
62 lines
1.7 KiB
TypeScript
62 lines
1.7 KiB
TypeScript
import { findManyObjectMetadata } from 'test/integration/metadata/suites/object-metadata/utils/find-many-object-metadata.util';
|
|
import { jestExpectToBeDefined } from 'test/utils/jest-expect-to-be-defined.util.test';
|
|
|
|
export type TestFieldMetadataIds = {
|
|
objectMetadataId: string;
|
|
fieldMetadataId1: string;
|
|
fieldMetadataId2: string;
|
|
fieldMetadataId3: string;
|
|
fieldMetadataId3SubFieldName: string;
|
|
};
|
|
|
|
// Uses well-known company fields that make semantic sense for chart configs:
|
|
// - employees (number field, suitable for aggregation)
|
|
// - name (text field, suitable for grouping)
|
|
// - domainName (link field, suitable for secondary grouping)
|
|
export const fetchTestFieldMetadataIds =
|
|
async (): Promise<TestFieldMetadataIds> => {
|
|
const { objects } = await findManyObjectMetadata({
|
|
expectToFail: false,
|
|
input: {
|
|
filter: {},
|
|
paging: { first: 100 },
|
|
},
|
|
gqlFields: `
|
|
id
|
|
nameSingular
|
|
fieldsList {
|
|
id
|
|
name
|
|
}
|
|
`,
|
|
});
|
|
|
|
const companyObject = objects.find(
|
|
(object) => object.nameSingular === 'company',
|
|
);
|
|
|
|
jestExpectToBeDefined(companyObject);
|
|
|
|
const fieldsList = companyObject.fieldsList;
|
|
|
|
jestExpectToBeDefined(fieldsList);
|
|
|
|
const findFieldByName = (fieldName: string) => {
|
|
const field = fieldsList!.find(
|
|
(fieldMetadata) => fieldMetadata.name === fieldName,
|
|
);
|
|
|
|
jestExpectToBeDefined(field);
|
|
|
|
return field!;
|
|
};
|
|
|
|
return {
|
|
objectMetadataId: companyObject.id,
|
|
fieldMetadataId1: findFieldByName('employees').id,
|
|
fieldMetadataId2: findFieldByName('name').id,
|
|
fieldMetadataId3: findFieldByName('domainName').id,
|
|
fieldMetadataId3SubFieldName: 'primaryLinkUrl',
|
|
};
|
|
};
|