pix-toolchain
Version:
Ferramentas para facilitar a utilização do Pix com Typescript/Javascript
199 lines (180 loc) • 9.15 kB
text/typescript
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');
})
});