diff --git a/packages/twenty-server/src/engine/core-modules/record-transformer/utils/transform-phones-value.util.ts b/packages/twenty-server/src/engine/core-modules/record-transformer/utils/transform-phones-value.util.ts index 1329534d4bae..38a6d32e84e0 100644 --- a/packages/twenty-server/src/engine/core-modules/record-transformer/utils/transform-phones-value.util.ts +++ b/packages/twenty-server/src/engine/core-modules/record-transformer/utils/transform-phones-value.util.ts @@ -1,8 +1,3 @@ -import { - isDefined, - parseJson, - removeUndefinedFields, -} from 'twenty-shared/utils'; import { isNonEmptyString } from '@sniptt/guards'; import { CountryCallingCode, @@ -11,6 +6,11 @@ import { getCountryCallingCode, parsePhoneNumberWithError, } from 'libphonenumber-js'; +import { + isDefined, + parseJson, + removeUndefinedFields, +} from 'twenty-shared/utils'; import { RecordTransformerException, @@ -165,7 +165,7 @@ const validateAndInferPhoneInput = ({ countryCode, }); - if (isDefined(number)) { + if (isDefined(number) && isNonEmptyString(number)) { return validateAndInferMetadataFromPrimaryPhoneNumber({ number, callingCode, diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/phone/create-one-field-metadata-phone.integration-spec.ts b/packages/twenty-server/test/integration/metadata/suites/field-metadata/phone/create-one-field-metadata-phone.integration-spec.ts index ced900bf99c0..4add47bb25ad 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/phone/create-one-field-metadata-phone.integration-spec.ts +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/phone/create-one-field-metadata-phone.integration-spec.ts @@ -117,6 +117,23 @@ const SUCCESSFUL_TEST_CASES: EachTestingContext[] describe('Phone field metadata tests suite', () => { let createdObjectMetadataId: string; - beforeEach(async () => { + beforeAll(async () => { const { data } = await forceCreateOneObjectMetadata({ input: { nameSingular: 'myTestObject', @@ -337,7 +354,7 @@ describe('Phone field metadata tests suite', () => { }); }); - afterEach(async () => { + afterAll(async () => { await deleteOneObjectMetadata({ input: { idToDelete: createdObjectMetadataId }, });