lhmask/src/lhmask.test.ts
2024-06-17 20:11:08 -03:00

52 lines
1.3 KiB
TypeScript

import * as lhmask from "./lhmask";
const testes = {
cep: {
fnName: "formatarCep",
valores: [["62800000", "62.800-000"]],
},
cnpj: {
fnName: "formatarCnpj",
valores: [["12123456000100", "12.123.456/0001-00"]],
},
cpf: {
fnName: "formatarCpf",
valores: [["12345678900", "123.456.789-00"]],
},
cpfcnpj: {
fnName: "formatarCpfCnpj",
valores: [
["12123456000100", "12.123.456/0001-00"],
["12345678900", "123.456.789-00"],
],
},
contabancaria: {
fnName: "formatarContaBancaria",
valores: [
["12345", "1234-5"],
["12345x", "12345-x"],
["12345X", "12345-X"],
],
},
telefone: {
fnName: "formatarTelefone",
valores: [
["88912341234", "(88)91234-1234"],
["8834001234", "(88)3400-1234"],
["08001234567", "0800-123-4567"],
],
},
};
describe.each(Object.keys(testes).map((k) => [k]))(`%s`, (formato: string) => {
const nomeFormato = formato as keyof typeof testes;
const teste = testes[nomeFormato];
const fnName = teste.fnName;
const valores = teste.valores;
test.each(valores.map((v) => [fnName, v[0], v[1]]))(`%s(%s) => %s)`, (fnName, v0, v1) => {
const formatFunction = lhmask[fnName as keyof typeof lhmask] as Function;
expect(formatFunction(v0)).toBe(v1);
expect(lhmask.formatarValor(v0, formato)).toBe(v1);
});
});