diff --git a/src/modules/fake/index.ts b/src/modules/fake/index.ts index a94d8845279..9dff1c8ec36 100644 --- a/src/modules/fake/index.ts +++ b/src/modules/fake/index.ts @@ -37,7 +37,7 @@ export class Fake { * and if that isn't possible, we will fall back to string: * * ```js - * const message = faker.fake(`You can call me at {{phone.phoneNumber(+!# !## #### #####!)}}.') + * const message = faker.fake(`You can call me at {{phone.number(+!# !## #### #####!)}}.') * ``` * * Currently it is not possible to set more than a single parameter. @@ -53,7 +53,7 @@ export class Fake { * faker.fake('{{name.lastName}}, {{name.firstName}} {{name.suffix}}') // 'Durgan, Noe MD' * faker.fake('This is static test.') // 'This is static test.' * faker.fake('Good Morning {{name.firstName}}!') // 'Good Morning Estelle!' - * faker.fake('You can call me at {{phone.phoneNumber(!## ### #####!)}}.') // 'You can call me at 202 555 973722.' + * faker.fake('You can call me at {{phone.number(!## ### #####!)}}.') // 'You can call me at 202 555 973722.' * faker.fake('I flipped the coin an got: {{helpers.arrayElement(["heads", "tails"])}}') // 'I flipped the coin an got: tails' */ fake(str: string): string { diff --git a/src/modules/phone/index.ts b/src/modules/phone/index.ts index 925e087d613..68f97bf6887 100644 --- a/src/modules/phone/index.ts +++ b/src/modules/phone/index.ts @@ -20,13 +20,36 @@ export class Phone { * * @param format Format of the phone number. Defaults to a random phone number format. * + * @see faker.phone.number + * * @example * faker.phone.phoneNumber() // '961-770-7727' * faker.phone.phoneNumber('501-###-###') // '501-039-841' * faker.phone.phoneNumber('+48 91 ### ## ##') // '+48 91 463 61 70' + * + * @deprecated */ - // TODO @pkuczynski 2022-02-01: simplify name to `number()` phoneNumber(format?: string): string { + deprecated({ + deprecated: 'faker.phone.phoneNumber()', + proposed: 'faker.phone.number()', + since: 'v7.3', + until: 'v8.0', + }); + return this.faker.phone.number(format); + } + + /** + * Generates a random phone number. + * + * @param format Format of the phone number. Defaults to a random phone number format. + * + * @example + * faker.phone.number() // '961-770-7727' + * faker.phone.number('501-###-###') // '501-039-841' + * faker.phone.number('+48 91 ### ## ##') // '+48 91 463 61 70' + */ + number(format?: string): string { format = format ?? this.faker.helpers.arrayElement( diff --git a/test/fake.spec.ts b/test/fake.spec.ts index 82d8c17a46b..8c0a0a8bf29 100644 --- a/test/fake.spec.ts +++ b/test/fake.spec.ts @@ -5,7 +5,7 @@ import { FakerError } from '../src/errors/faker-error'; describe('fake', () => { describe('fake()', () => { it('replaces a token with a random value for a method with no parameters', () => { - const name = faker.fake('{{phone.phoneNumber}}'); + const name = faker.fake('{{phone.number}}'); expect(name).toMatch(/\d/); }); diff --git a/test/phone.spec.ts b/test/phone.spec.ts index e0ff1996fa2..daccd63b687 100644 --- a/test/phone.spec.ts +++ b/test/phone.spec.ts @@ -9,6 +9,9 @@ const seededRuns = [ phoneNumber: { noArgs: '891.775.5141', }, + number: { + noArgs: '891.775.5141', + }, phoneNumberFormat: { noArgs: '479-377-5514', phoneFormatsArrayIndex: { arrayIndex: 1, expected: '(479) 377-5514' }, @@ -27,6 +30,9 @@ const seededRuns = [ phoneNumber: { noArgs: '(612) 454-0325', }, + number: { + noArgs: '(612) 454-0325', + }, phoneNumberFormat: { noArgs: '451-325-4032', phoneFormatsArrayIndex: { arrayIndex: 1, expected: '(451) 325-4032' }, @@ -45,6 +51,9 @@ const seededRuns = [ phoneNumber: { noArgs: '1-587-319-0616 x27431', }, + number: { + noArgs: '1-587-319-0616 x27431', + }, phoneNumberFormat: { noArgs: '948-821-9061', phoneFormatsArrayIndex: { arrayIndex: 1, expected: '(948) 821-9061' }, @@ -61,6 +70,7 @@ const seededRuns = [ const functionNames = [ 'phoneNumber', + 'number', 'phoneNumberFormat', 'phoneFormats', 'imei', @@ -111,6 +121,14 @@ describe('phone', () => { }); }); + describe('number()', () => { + it('should return a random phoneNumber with a random format', () => { + const phoneNumber = faker.phone.number(); + + expect(phoneNumber).toMatch(/\d/); + }); + }); + describe('phoneNumberFormat()', () => { it('should return phone number with proper US format (Array index)', () => { faker.locale = 'en';