Skip to content

Commit

Permalink
fix(TDOPS-5386/utils): remove phone validation as not in use (#4972)
Browse files Browse the repository at this point in the history
* fix(TDOPS-5386/utils): remove phone validation as not in use

* chore: generate chnageset

* fix: remove PHONE import
  • Loading branch information
inna-i authored Nov 8, 2023
1 parent 1fec784 commit 841be39
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 67 deletions.
5 changes: 5 additions & 0 deletions .changeset/moody-turtles-study.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@talend/utils': minor
---

TDOPS-5386 - remove phone validation as not in use
55 changes: 14 additions & 41 deletions packages/utils/src/validation/methods.test.ts
Original file line number Diff line number Diff line change
@@ -1,67 +1,40 @@
import { validFirstName, validLastName, validEmail, validPhone } from './methods';
import {
validNames,
invalidNames,
validEmails,
invalidEmails,
validPhones,
invalidPhones,
} from './testValues';
import { validFirstName, validLastName, validEmail } from './methods';
import { validNames, invalidNames, validEmails, invalidEmails } from './testValues';

describe('methods', () => {
describe('validFirstName', () => {
// Test valid values
test.each(validNames)(
'"%s" should be an acceptable first name',
(value: string) => expect(validFirstName(value)).toBe(true),
test.each(validNames)('"%s" should be an acceptable first name', (value: string) =>
expect(validFirstName(value)).toBe(true),
);

// Test invalid values
test.each(invalidNames)(
'"%s" should not be an acceptable first name',
(value: string) => expect(validFirstName(value)).toBe(false),
test.each(invalidNames)('"%s" should not be an acceptable first name', (value: string) =>
expect(validFirstName(value)).toBe(false),
);
});

describe('validLastName', () => {
// Test valid values
test.each(validNames)(
'"%s" should be an acceptable last name',
(value: string) => expect(validLastName(value)).toBe(true),
test.each(validNames)('"%s" should be an acceptable last name', (value: string) =>
expect(validLastName(value)).toBe(true),
);

// Test invalid values
test.each(invalidNames)(
'"%s" should not be an acceptable last name',
(value: string) => expect(validLastName(value)).toBe(false),
test.each(invalidNames)('"%s" should not be an acceptable last name', (value: string) =>
expect(validLastName(value)).toBe(false),
);
});

describe('validEmail', () => {
// Test valid values
test.each(validEmails)(
'"%s" should be an acceptable email',
(value: string) => expect(validEmail(value)).toBe(true),
test.each(validEmails)('"%s" should be an acceptable email', (value: string) =>
expect(validEmail(value)).toBe(true),
);

// Test invalid values
test.each(invalidEmails)(
'"%s" should not be an acceptable email',
(value: string) => expect(validEmail(value)).toBe(false),
);
});

describe('validPhone', () => {
// Test valid values
test.each(validPhones)(
'"%s" should be an acceptable phone',
(value: string) => expect(validPhone(value)).toBe(true),
);

// Test invalid values
test.each(invalidPhones)(
'"%s" should not be an acceptable phone',
(value: string) => expect(validPhone(value)).toBe(false),
test.each(invalidEmails)('"%s" should not be an acceptable email', (value: string) =>
expect(validEmail(value)).toBe(false),
);
});
});
9 changes: 1 addition & 8 deletions packages/utils/src/validation/methods.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { NAME, EMAIL, DOMAIN, PHONE } from './regexp';
import { NAME, EMAIL, DOMAIN } from './regexp';

/**
* Build a validation method along a given regular expression
Expand Down Expand Up @@ -36,10 +36,3 @@ export const validEmail: Function = getValidationMethod(EMAIL);
* @returns {boolean}
*/
export const validDomain: Function = getValidationMethod(DOMAIN);

/**
* Check that a given value is a valid phone number
* @param {string} value
* @returns {boolean}
*/
export const validPhone: Function = getValidationMethod(PHONE);
7 changes: 0 additions & 7 deletions packages/utils/src/validation/regexp.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
/* eslint-disable no-useless-escape */

export const PHONE =
/^((?:\+[\d().-]*\d[\d().-]*|[0-9A-F*#().-]*[0-9A-F*#][0-9A-F*#().-]*(?:;[a-z\d-]+(?:=(?:[a-z\d\[\]\/:&+$_!~*'().-]|%[\dA-F]{2})+)?)*;phone-context=(?:\+[\d().-]*\d[\d().-]*|(?:[a-z0-9]\.|[a-z0-9][a-z0-9-]*[a-z0-9]\.)*(?:[a-z]|[a-z][a-z0-9-]*[a-z0-9])))(?:;[a-z\d-]+(?:=(?:[a-z\d\[\]\/:&+$_!~*'().-]|%[\dA-F]{2})+)?)*(?:,(?:\+[\d().-]*\d[\d().-]*|[0-9A-F*#().-]*[0-9A-F*#][0-9A-F*#().-]*(?:;[a-z\d-]+(?:=(?:[a-z\d\[\]\/:&+$_!~*'().-]|%[\dA-F]{2})+)?)*;?)*)*)$/;

export const EMAIL =
/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;

export const NAME = /^[^\~!@#$%^&*()|+=?;:",<>\{\}\[\]\\\/¤€¨£°§]*$/i;

export const DOMAIN = /^[^\~!#$%^&*()|+=?;:",<>\{\}\[\]\\\/¤€¨£°§]*$/i;

/* eslint-enable no-useless-escape */
11 changes: 0 additions & 11 deletions packages/utils/src/validation/testValues.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,3 @@ export const validEmails: Array<string> = [
];

export const invalidEmails: Array<string> = ['john', 'john@', 'john @', 'john\\@re'];

// Phones
export const validPhones: Array<string> = ['+33102030405'];

export const invalidPhones: Array<string> = [
'john',
'john@',
'john @',
'[email protected]',
'Fred',
];

0 comments on commit 841be39

Please sign in to comment.