diff --git a/packages/twenty-shared/src/utils/filter/__tests__/computeRecordGqlOperationFilter.test.ts b/packages/twenty-shared/src/utils/filter/__tests__/computeRecordGqlOperationFilter.test.ts new file mode 100644 index 0000000000..ab02020562 --- /dev/null +++ b/packages/twenty-shared/src/utils/filter/__tests__/computeRecordGqlOperationFilter.test.ts @@ -0,0 +1,42 @@ +import { computeRecordGqlOperationFilter } from '../computeRecordGqlOperationFilter'; +import type { RecordFilter } from '../turnRecordFilterGroupIntoGqlOperationFilter'; + +import { FieldMetadataType } from '@/types/FieldMetadataType'; +import type { PartialFieldMetadataItem } from '@/types/PartialFieldMetadataItem'; +import { ViewFilterOperand } from '@/types/ViewFilterOperand'; + +describe('computeRecordGqlOperationFilter', () => { + it('should match Is UUID', () => { + const companyIdField: PartialFieldMetadataItem = { + id: 'company-id-field', + name: 'id', + label: 'ID', + type: FieldMetadataType.UUID, + }; + + const uuidValue = '4f83d5c0-7c7a-4f67-9f29-0a6aad1f4eb1'; + + const recordFilters: RecordFilter[] = [ + { + id: 'uuid-filter', + fieldMetadataId: companyIdField.id, + value: uuidValue, + type: 'UUID', + operand: ViewFilterOperand.IS, + }, + ]; + + const filter = computeRecordGqlOperationFilter({ + fields: [companyIdField], + recordFilters, + recordFilterGroups: [], + filterValueDependencies: {}, + }); + + expect(filter).toEqual({ + id: { + in: [uuidValue], + }, + }); + }); +}); diff --git a/packages/twenty-shared/src/utils/filter/turnRecordFilterIntoGqlOperationFilter.ts b/packages/twenty-shared/src/utils/filter/turnRecordFilterIntoGqlOperationFilter.ts index b64b4896e7..b2baffea11 100644 --- a/packages/twenty-shared/src/utils/filter/turnRecordFilterIntoGqlOperationFilter.ts +++ b/packages/twenty-shared/src/utils/filter/turnRecordFilterIntoGqlOperationFilter.ts @@ -70,13 +70,11 @@ type TurnRecordFilterIntoRecordGqlOperationFilterParams = { filterValueDependencies?: RecordFilterValueDependencies; recordFilter: RecordFilter; fieldMetadataItems: FieldShared[]; - recordIdsForUuid?: string[]; }; export const turnRecordFilterIntoRecordGqlOperationFilter = ({ recordFilter, fieldMetadataItems, - recordIdsForUuid, filterValueDependencies, }: TurnRecordFilterIntoRecordGqlOperationFilterParams): | RecordGqlOperationFilter @@ -1303,7 +1301,7 @@ export const turnRecordFilterIntoRecordGqlOperationFilter = ({ }; } case 'UUID': { - const recordIds = recordIdsForUuid; + const recordIds = arrayOfUuidOrVariableSchema.parse(recordFilter.value); if (!isDefined(recordIds) || recordIds.length === 0) return;