Spaces:
Sleeping
Sleeping
File size: 1,303 Bytes
933fa00 | 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 48 49 50 51 | import test from "node:test";
import assert from "node:assert/strict";
import { calcularSimulacao } from "../src/index.js";
const baseInput = {
credito_desejado: 300000,
parametros: {
id_plano: "PADRAO",
nome_plano: "Plano Padrao Imovel",
prazo_meses: 180,
taxa_administracao_total: 0.15,
fundo_reserva_mensal: 0.0005,
seguro_prestamista: 0.035,
},
tem_lance: false,
};
test("calcula parcela integral com valores esperados", () => {
const result = calcularSimulacao(baseInput);
assert.equal(result.prazo, 180);
assert.equal(result.credito, 300000);
assert.ok(result.parcela_integral.total > 0);
assert.equal(Number(result.parcela_integral.fundo_comum.toFixed(2)), 1666.67);
});
test("calcula cenario com lance e reduz prazo", () => {
const result = calcularSimulacao({
...baseInput,
tem_lance: true,
lance_percentual: 0.3,
});
assert.ok(result.valor_lance);
assert.equal(result.valor_lance, 90000);
assert.ok(result.prazo_apos_lance);
assert.ok(result.prazo_apos_lance < result.prazo);
});
test("falha quando prazo_meses for invalido", () => {
assert.throws(() => {
calcularSimulacao({
...baseInput,
parametros: {
...baseInput.parametros,
prazo_meses: 0,
},
});
}, /prazo_meses/);
});
|