Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/dominio/calculadora/Projeto/pacote.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const { MAX_HORAS_POR_PACOTE } = require('../constantes/constantes');

const calcularPacote = (totalDeHorasPorProjeto) => Object.entries(MAX_HORAS_POR_PACOTE)
.find(([key, value]) => value > totalDeHorasPorProjeto
.find(([key, value]) => value >= totalDeHorasPorProjeto
)[0];

exports.calcularPacote = calcularPacote;
Empty file.
Empty file.
24 changes: 24 additions & 0 deletions src/entregasDesafio/larissa-balera/calcularPacote.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
const { calcularPacote } = require("../../dominio/calculadora/Projeto/pacote");

describe("Calcular valor do pacote", () => {

test("Calcular pacote basico quando 23h", () => {
const retorno = calcularPacote(50);
const esperado = 'pacote_basico'
expect(esperado).toBe(retorno)
})

test("Calcular pacote intermediario quando 100h", () => {
const retorno = calcularPacote(100);
const esperado = 'pacote_intermediario'
expect(esperado).toBe(retorno)
})

test("Calcular pacote premium quando 200", () => {
const retorno = calcularPacote(200);
const esperado = 'pacote_premium'
expect(esperado).toBe(retorno)
})


});
33 changes: 33 additions & 0 deletions src/entregasDesafio/larissa-balera/horasPorProjeto.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
const { calcularHorasDeProjeto } = require("../../dominio/calculadora/Projeto/horasPorProjeto");

describe("Calcular horas por projeto", () => {

test("Calcular horas de projeto - 1 funcionalidade", () => {
const listaDeFuncionalidades = ["formulario"];
const retorno = calcularHorasDeProjeto(listaDeFuncionalidades);
const esperado = 16;
expect(esperado).toBe(retorno);
});

test("Calcular horas de projeto - 2 funcionalidades", () => {
const listaDeFuncionalidades = ["formulario", "responsividade"];
const retorno = calcularHorasDeProjeto(listaDeFuncionalidades);
const esperado = 32;
expect(esperado).toBe(retorno);
});

test("Calcular horas de projeto - 3 funcionalidades", () => {
const listaDeFuncionalidades = ["formulario", "otimizacao_seo", "ssr"];
const retorno = calcularHorasDeProjeto(listaDeFuncionalidades);
const esperado = 40;
expect(esperado).toBe(retorno)
});

test("Calcular horas de projeto - 4 funcionalidades", () => {
const listaDeFuncionalidades = ["formulario", "construcao_1_pagina", "responsividade", "setup"];
const retorno = calcularHorasDeProjeto(listaDeFuncionalidades);
const esperado = 48;
expect(esperado).toBe(retorno)
});

});
24 changes: 24 additions & 0 deletions src/entregasDesafio/larissa-balera/valorHora.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
const { calcularValorPorHora } = require("../../dominio/calculadora/Hora/valorHora");


describe("Calcular valor da hora", () => {

test("calcular valor da hora - renda mensal 3000", () => {
const retorno = calcularValorPorHora(3000);
const esperado = 18;
expect(esperado).toBe(retorno)
});

test("calcular valor da hora - renda mensal 4000", () => {
const retorno = calcularValorPorHora(4000);
const esperado = 23;
expect(esperado).toBe(retorno)
});

test("calcular valor da hora - renda mensal 15000", () => {
const retorno = calcularValorPorHora(15000);
const esperado = 86;
expect(esperado).toBe(retorno)
});

});
35 changes: 35 additions & 0 deletions src/entregasDesafio/larissa-balera/valorProjeto.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
const { calcularValorTotalProjeto } = require("../../dominio/calculadora/Projeto/valorProjeto");
const pacote = require("../../dominio/calculadora/Projeto/pacote")

describe("pacote _basico", () => {
test("Calcular valor total do projeto quando 30h e 30 reais/h", () => {
const valorHora = 30;
const funcionalidades = ["formulario", "responsividade"]
const retornado = calcularValorTotalProjeto(funcionalidades, valorHora);
const esperado = 1056;
expect(esperado).toBe(retornado)

})
});

describe("pacote_intermediario", () => {
test("Calcular valor total do projeto quando 64 e 50 reais/h", () => {
const valorHora = 50;
const funcionalidades = ["formulario", "responsividade", "otimizacao_seo",, "integracao_mailchimp"]
const retornado = calcularValorTotalProjeto(funcionalidades, valorHora);
const esperado = 3584;
expect(esperado).toBe(retornado)

})
});

describe("pacote_premium", () => {
test("Calcular valor total do projeto quando 104h e 60 reais/h", () => {
const valorHora = 60;
const funcionalidades = ["formulario", "responsividade", "construcao_1_pagina", "construcao_1_pagina", "construcao_1_pagina", "construcao_1_pagina", "construcao_1_pagina", "integracao_mailchimp" , "integracao_api_propria"]
const retornado = calcularValorTotalProjeto(funcionalidades, valorHora);
const esperado = 4301;
expect(esperado).toBe(retornado)

})
});