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
9 changes: 9 additions & 0 deletions src/entregasDesafio/angelica-salvino/calcularPacote.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
const { calcularPacote} = require('../../dominio/calculadora/Projeto/pacote');

describe("Calcular pacote", () => {
test("calcular pacote basico quando 23 horas", () => {
const retornado = calcularPacote(23);
const esperado = 'pacote_basico';
expect(esperado).toBe(retornado);
});
});
65 changes: 65 additions & 0 deletions src/entregasDesafio/angelica-salvino/calcularValorProjeto.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
const { calcularValorTotalProjeto } = require('../../dominio/calculadora/Projeto/valorProjeto');
const pacote = require('../../dominio/calculadora/Projeto/pacote');

jest.mock('../../dominio/calculadora/Projeto/pacote');

describe('pacote basico', () => {
test('calcular valor total do projeto quando 23 horas e 30 reais/hora', () => {
const valorHora = 30;
const funcionalidades = ["formulario", "responsividade"];
pacote.calcularPacote.mockReturnValue("pacote_basico");
const retornado = calcularValorTotalProjeto(funcionalidades, valorHora);
const esperado = 1056;
expect(esperado).toBe(retornado);
});

test('calcular valor total do projeto quando 23 horas e 30 reais/hora - simulando mock', () => {
pacote.calcularPacote.mockReturnValue("pacote_basico");
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 60 horas e 100 reais/hora', () => {
const valorHora = 100;
const funcionalidades = ["formulario", "responsividade", "integracao_mailchimp"];
pacote.calcularPacote.mockReturnValue("pacote_intermediario");
const retornado = calcularValorTotalProjeto(funcionalidades, valorHora);
const esperado = 5376;
expect(esperado).toBe(retornado);
});

test('calcular valor total do projeto quando 60 horas e 100 reais/hora - simulando mock', () => {
pacote.calcularPacote.mockReturnValue("pacote_intermediario");
const valorHora = 100;
const funcionalidades = ["formulario", "responsividade", "integracao_mailchimp"];
const retornado = calcularValorTotalProjeto(funcionalidades, valorHora);
const esperado = 5376;
expect(esperado).toBe(retornado);
});
});

describe('pacote premium', () => {
test('calcular valor total do projeto quando 150 horas e 200 reais/hora', () => {
const valorHora = 200;
const funcionalidades = ["formulario", "responsividade", "integracao_mailchimp", "otimizacao_seo", "integracao_api_propria"];
pacote.calcularPacote.mockReturnValue("pacote_premium");
const retornado = calcularValorTotalProjeto(funcionalidades, valorHora);
const esperado = 18400;
expect(esperado).toBe(retornado);
});

test('calcular valor total do projeto quando 150 horas e 200 reais/hora - simulando mock', () => {
pacote.calcularPacote.mockReturnValue("pacote_premium");
const valorHora = 200;
const funcionalidades = ["formulario", "responsividade", "integracao_mailchimp", "otimizacao_seo", "integracao_api_propria"];
const retornado = calcularValorTotalProjeto(funcionalidades, valorHora);
const esperado = 18400;
expect(esperado).toBe(retornado);
});
});

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

describe("Calcular horas de 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 iguais", () => {
const listaDeFuncionalidades = ['formulario', 'formulario'];
const retorno = calcularHorasDeProjeto(listaDeFuncionalidades);
const esperado = 32;
expect(esperado).toBe(retorno);
});

test("calcular horas de projeto - 3 paginas", () => {
const listaDeFuncionalidades = ['construcao_1_pagina', 'construcao_1_pagina','construcao_1_pagina'];
const retorno = calcularHorasDeProjeto(listaDeFuncionalidades);
const esperado = 24;
expect(esperado).toBe(retorno);
});

test("calcular horas de projeto - 4 funcionalidades diferentes", () => {
const listaDeFuncionalidades = ['formulario', 'responsividade','otimizacao_seo','construcao_1_pagina'];
const retorno = calcularHorasDeProjeto(listaDeFuncionalidades);
const esperado = 56;
expect(esperado).toBe(retorno);
});
});
21 changes: 21 additions & 0 deletions src/entregasDesafio/angelica-salvino/valorHora.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
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);
});
});