UNPKG

pix-toolchain

Version:

Ferramentas para facilitar a utilização do Pix com Typescript/Javascript

199 lines (180 loc) 9.15 kB
import { Validate } from "./validate"; describe('Validate class', () => { const validate: Validate = new Validate(); test("Validate CPF", () => { expect(validate['cpf']('222.671.551-76')).toBeTruthy(); expect(validate['cpf']('246515.707-80')).toBeTruthy(); expect(validate['cpf']('311.677323-83')).toBeTruthy(); expect(validate['cpf']('246.484.25677')).toBeTruthy(); expect(validate['cpf'](' 715.233.464-18')).toBeTruthy(); expect(validate['cpf']('717.374.045-24 ')).toBeTruthy(); expect(validate['cpf']('10648635821')).toBeTruthy(); expect(validate['cpf']('44674362199')).toBeTruthy(); expect(validate['cpf']('37886730879')).toBeTruthy(); expect(validate['cpf']('72427650641')).toBeTruthy(); expect(validate['cpf']('222.671.551-75')).toBeFalsy(); expect(validate['cpf']('246515.707-85')).toBeFalsy(); expect(validate['cpf']('311.677323-85')).toBeFalsy(); expect(validate['cpf']('246.484.25675')).toBeFalsy(); expect(validate['cpf']('715.233.464-15')).toBeFalsy(); expect(validate['cpf']('724276506417')).toBeFalsy(); expect(validate['cpf']('10648635825')).toBeFalsy(); expect(validate['cpf']('44674362')).toBeFalsy(); expect(validate['cpf']('22222222222')).toBeFalsy(); expect(validate['cpf']('11111111111')).toBeFalsy(); }); test("Validate CNPJ", () => { expect(validate['cnpj']('60557010000154')).toBeTruthy(); expect(validate['cnpj']('12380856000119')).toBeTruthy(); expect(validate['cnpj'](' 16482467000155')).toBeTruthy(); expect(validate['cnpj']('14423810000165 ')).toBeTruthy(); expect(validate['cnpj']('8004186300 0146')).toBeTruthy(); expect(validate['cnpj']('4315155--6000191')).toBeTruthy(); expect(validate['cnpj']('06.504.234/0001-52')).toBeTruthy(); expect(validate['cnpj']('33.148.438/0001-70')).toBeTruthy(); expect(validate['cnpj']('60.557.011/0001-54')).toBeFalsy(); expect(validate['cnpj']('12.380.856/2001-19')).toBeFalsy(); expect(validate['cnpj']('16.482.467/7001-55')).toBeFalsy(); expect(validate['cnpj']('14423810300165')).toBeFalsy(); expect(validate['cnpj']('80041-863100146')).toBeFalsy(); expect(validate['cnpj']('431515567001911')).toBeFalsy(); expect(validate['cnpj']('208758789001')).toBeFalsy(); expect(validate['cnpj']('68014384020135')).toBeFalsy(); expect(validate['cnpj']('52280550600105')).toBeFalsy(); expect(validate['cnpj']('05208047600169')).toBeFalsy(); }); test('validate EVP', () => { expect(validate['evp']('7f9fab59-8f84-4e6d-b0bb-018916e81a4c')).toBeTruthy(); expect(validate['evp']('0877815f-0fbe-4a55-ad39-ffa760f1927d')).toBeTruthy(); expect(validate['evp']('123e4567-e89b-12d3-a456-426655440000')).toBeTruthy(); expect(validate['evp']('123e4567e89b-12d3-a456-426655440000')).toBeFalsy(); expect(validate['evp']('123e4567-e89b12d3-a456-426655440000')).toBeFalsy(); expect(validate['evp']('123e4567-e89b-12d3a456-426655440000')).toBeFalsy(); expect(validate['evp']('123e4567-e89b-12d3-a456426655440000')).toBeFalsy(); expect(validate['evp']('123e4567e89b12d3a456426655440000')).toBeFalsy(); }) test('validate Email', () => { expect(validate['email']('pix@banzeh.com.br')).toBeTruthy(); expect(validate['email']('pix@banzeh.com')).toBeTruthy(); expect(validate['email']('pix1234@banzeh')).toBeTruthy(); expect(validate['email']('pix+teste@banzeh.com.br')).toBeTruthy(); expect(validate['email']('p-i_x@banzeh.com.br')).toBeTruthy(); expect(validate['email']('p-i_x@banzeh@com.br')).toBeFalsy(); expect(validate['email']('p-i_xbanzehcom.br')).toBeFalsy(); expect(validate['email']('@p-i_xbanzehcom.br')).toBeFalsy(); expect(validate['email']('p-i_xbanzehcom.br@')).toBeFalsy(); }) test('should validate the phone number', () => { expect(validate['phone']('11912345678')).toBeTruthy(); expect(validate['phone']('+5511912345678')).toBeTruthy(); expect(validate['phone']('+111912345678')).toBeTruthy(); expect(validate['phone']('11988888888')).toBeTruthy(); expect(validate['phone']('+551191234567')).toBeFalsy(); expect(validate['phone']('1191234567')).toBeFalsy(); expect(validate['phone']('+091191234567')).toBeFalsy(); expect(validate['phone']('+5511191234567')).toBeFalsy(); expect(validate['phone']('+5590191234567')).toBeFalsy(); }); test('should validate when key is CPF', () => { const keyValid = validate.validate('12345678909'); expect(keyValid.cpf).toBeTruthy(); expect(keyValid.cnpj).toBeFalsy(); expect(keyValid.evp).toBeFalsy(); expect(keyValid.email).toBeFalsy(); expect(keyValid.phone).toBeFalsy(); }) test('should validate when key is CNPJ', () => { const keyValid = validate.validate('12380856000119'); expect(keyValid.cpf).toBeFalsy(); expect(keyValid.cnpj).toBeTruthy(); expect(keyValid.evp).toBeFalsy(); expect(keyValid.email).toBeFalsy(); expect(keyValid.phone).toBeFalsy(); }) test('should validate when key is EVP', () => { const keyValid = validate.validate('7f9fab59-8f84-4e6d-b0bb-018916e81a4c'); expect(keyValid.cpf).toBeFalsy(); expect(keyValid.cnpj).toBeFalsy(); expect(keyValid.evp).toBeTruthy(); expect(keyValid.email).toBeFalsy(); expect(keyValid.phone).toBeFalsy(); }) test('should validate when key is email', () => { const keyValid = validate.validate('pix@banzeh.com.br'); expect(keyValid.cpf).toBeFalsy(); expect(keyValid.cnpj).toBeFalsy(); expect(keyValid.evp).toBeFalsy(); expect(keyValid.email).toBeTruthy(); expect(keyValid.phone).toBeFalsy(); }) test('should validate when key is phone', () => { const keyValid = validate.validate('11912345678'); expect(keyValid.cpf).toBeFalsy(); expect(keyValid.cnpj).toBeFalsy(); expect(keyValid.evp).toBeFalsy(); expect(keyValid.email).toBeFalsy(); expect(keyValid.phone).toBeTruthy(); }) test('should validate when key is phone or CPF', () => { const keyValid = validate.validate('12945678969'); expect(keyValid.cpf).toBeTruthy(); expect(keyValid.cnpj).toBeFalsy(); expect(keyValid.evp).toBeFalsy(); expect(keyValid.email).toBeFalsy(); expect(keyValid.phone).toBeTruthy(); }) test('should return only cpf when key is only cpf', () => { const keyType = validate.keyType('12345678909'); expect(keyType.length).toBe(1); expect(keyType).toContain('cpf'); expect(keyType).not.toContain('cnpj'); expect(keyType).not.toContain('email'); expect(keyType).not.toContain('phone'); expect(keyType).not.toContain('evp'); }) test('should return cnpj when key is cnpj', () => { const keyType = validate.keyType('12380856000119'); expect(keyType.length).toBe(1); expect(keyType).not.toContain('cpf'); expect(keyType).toContain('cnpj'); expect(keyType).not.toContain('email'); expect(keyType).not.toContain('phone'); expect(keyType).not.toContain('evp'); }) test('should return email when key is email', () => { const keyType = validate.keyType('pix@banzeh.com.br'); expect(keyType.length).toBe(1); expect(keyType).not.toContain('cpf'); expect(keyType).not.toContain('cnpj'); expect(keyType).toContain('email'); expect(keyType).not.toContain('phone'); expect(keyType).not.toContain('evp'); }) test('should return only phone when key is only phone', () => { const keyType = validate.keyType('11912345678'); expect(keyType.length).toBe(1); expect(keyType).not.toContain('cpf'); expect(keyType).not.toContain('cnpj'); expect(keyType).not.toContain('email'); expect(keyType).toContain('phone'); expect(keyType).not.toContain('evp'); }) test('should return evp when key is evp', () => { const keyType = validate.keyType('7f9fab59-8f84-4e6d-b0bb-018916e81a4c'); expect(keyType.length).toBe(1); expect(keyType).not.toContain('cpf'); expect(keyType).not.toContain('cnpj'); expect(keyType).not.toContain('email'); expect(keyType).not.toContain('phone'); expect(keyType).toContain('evp'); }) test('should return CPF and PHONE when key is cpf or phone', () => { const keyType = validate.keyType('12945678969'); expect(keyType.length).toBe(2); expect(keyType).toContain('cpf'); expect(keyType).not.toContain('cnpj'); expect(keyType).not.toContain('email'); expect(keyType).toContain('phone'); expect(keyType).not.toContain('evp'); }) });