Socialify

Folder ..

Viewing phone.spec.ts
47 lines (40 loc) • 1.5 KB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import { describe, expect, it, vi } from 'vitest';
import { faker } from '../dist/cjs';

describe('phone', () => {
  describe('phoneNumber()', () => {
    it('returns a random phoneNumber with a random format', () => {
      const spy_helpers_replaceSymbolWithNumber = vi.spyOn(
        faker.helpers,
        'replaceSymbolWithNumber'
      );

      const phone_number = faker.phone.phoneNumber();

      expect(phone_number).match(/\d/);
      expect(spy_helpers_replaceSymbolWithNumber).toHaveBeenCalled();

      spy_helpers_replaceSymbolWithNumber.mockRestore();
    });
  });

  describe('phoneNumberFormat()', () => {
    it('returns phone number with requested format (Array index)', () => {
      faker.locale = 'en';
      for (let i = 0; i < 10; i++) {
        const phone_number = faker.phone.phoneNumberFormat(1);
        expect(phone_number).match(/\(\d\d\d\) \d\d\d-\d\d\d\d/);
      }
    });

    it('returns phone number with proper format US (Array index)', () => {
      faker.locale = 'en';
      for (let i = 0; i < 25; i++) {
        const phone_number = faker.phone.phoneNumberFormat(1);
        console.log(phone_number);
        expect(phone_number).match(/\([2-9]\d\d\) [2-9]\d\d-\d\d\d\d/);
      }
    });

    it('returns phone number with proper format CA (Array index)', () => {
      faker.locale = 'en_CA';
      for (let i = 0; i < 25; i++) {
        const phone_number = faker.phone.phoneNumberFormat(1);
        expect(phone_number).match(/\([2-9]\d\d\)[2-9]\d\d-\d\d\d\d/);
      }
    });
  });
});