Skip to content

Commit 540f3ff

Browse files
authored
Fix phone deletion (#12821)
Fixes twentyhq/core-team-issues#1124
1 parent 2da66af commit 540f3ff

File tree

2 files changed

+25
-8
lines changed

2 files changed

+25
-8
lines changed

packages/twenty-server/src/engine/core-modules/record-transformer/utils/transform-phones-value.util.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
import {
2-
isDefined,
3-
parseJson,
4-
removeUndefinedFields,
5-
} from 'twenty-shared/utils';
61
import { isNonEmptyString } from '@sniptt/guards';
72
import {
83
CountryCallingCode,
@@ -11,6 +6,11 @@ import {
116
getCountryCallingCode,
127
parsePhoneNumberWithError,
138
} from 'libphonenumber-js';
9+
import {
10+
isDefined,
11+
parseJson,
12+
removeUndefinedFields,
13+
} from 'twenty-shared/utils';
1414

1515
import {
1616
RecordTransformerException,
@@ -165,7 +165,7 @@ const validateAndInferPhoneInput = ({
165165
countryCode,
166166
});
167167

168-
if (isDefined(number)) {
168+
if (isDefined(number) && isNonEmptyString(number)) {
169169
return validateAndInferMetadataFromPrimaryPhoneNumber({
170170
number,
171171
callingCode,

packages/twenty-server/test/integration/metadata/suites/field-metadata/phone/create-one-field-metadata-phone.integration-spec.ts

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,23 @@ const SUCCESSFUL_TEST_CASES: EachTestingContext<CreatePhoneFieldMetadataTestCase
117117
},
118118
},
119119
},
120+
{
121+
title: 'create primary phone field with empty strings in payload',
122+
context: {
123+
input: {
124+
primaryPhoneNumber: '',
125+
primaryPhoneCountryCode: '' as CountryCode,
126+
primaryPhoneCallingCode: '',
127+
additionalPhones: null,
128+
},
129+
expected: {
130+
primaryPhoneNumber: '',
131+
primaryPhoneCountryCode: '' as CountryCode,
132+
primaryPhoneCallingCode: '',
133+
additionalPhones: null,
134+
},
135+
},
136+
},
120137
{
121138
title: 'create additional phone field with number and other information',
122139
context: {
@@ -306,7 +323,7 @@ const FAILING_TEST_CASES: EachTestingContext<CreatePhoneFieldMetadataTestCase>[]
306323
describe('Phone field metadata tests suite', () => {
307324
let createdObjectMetadataId: string;
308325

309-
beforeEach(async () => {
326+
beforeAll(async () => {
310327
const { data } = await forceCreateOneObjectMetadata({
311328
input: {
312329
nameSingular: 'myTestObject',
@@ -337,7 +354,7 @@ describe('Phone field metadata tests suite', () => {
337354
});
338355
});
339356

340-
afterEach(async () => {
357+
afterAll(async () => {
341358
await deleteOneObjectMetadata({
342359
input: { idToDelete: createdObjectMetadataId },
343360
});

0 commit comments

Comments
 (0)