From 491a587060a0ff88eb41ba6168890366edb02a5e Mon Sep 17 00:00:00 2001 From: Angelica Salvino Date: Sat, 8 Jun 2024 16:14:01 -0300 Subject: [PATCH] adicionando os arquivos de teste do desafio da Reprograma --- .../angelica-salvino/calcularPacote.test.js | 9 +++ .../calcularValorProjeto.test.js | 65 +++++++++++++++++++ .../angelica-salvino/horasPorProjeto.test.js | 31 +++++++++ .../angelica-salvino/valorHora.test.js | 21 ++++++ 4 files changed, 126 insertions(+) create mode 100644 src/entregasDesafio/angelica-salvino/calcularPacote.test.js create mode 100644 src/entregasDesafio/angelica-salvino/calcularValorProjeto.test.js create mode 100644 src/entregasDesafio/angelica-salvino/horasPorProjeto.test.js create mode 100644 src/entregasDesafio/angelica-salvino/valorHora.test.js diff --git a/src/entregasDesafio/angelica-salvino/calcularPacote.test.js b/src/entregasDesafio/angelica-salvino/calcularPacote.test.js new file mode 100644 index 0000000..0c35721 --- /dev/null +++ b/src/entregasDesafio/angelica-salvino/calcularPacote.test.js @@ -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); + }); +}); \ No newline at end of file diff --git a/src/entregasDesafio/angelica-salvino/calcularValorProjeto.test.js b/src/entregasDesafio/angelica-salvino/calcularValorProjeto.test.js new file mode 100644 index 0000000..a79e184 --- /dev/null +++ b/src/entregasDesafio/angelica-salvino/calcularValorProjeto.test.js @@ -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); + }); +}); + diff --git a/src/entregasDesafio/angelica-salvino/horasPorProjeto.test.js b/src/entregasDesafio/angelica-salvino/horasPorProjeto.test.js new file mode 100644 index 0000000..0ea27ee --- /dev/null +++ b/src/entregasDesafio/angelica-salvino/horasPorProjeto.test.js @@ -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); + }); +}); \ No newline at end of file diff --git a/src/entregasDesafio/angelica-salvino/valorHora.test.js b/src/entregasDesafio/angelica-salvino/valorHora.test.js new file mode 100644 index 0000000..2d0dcfc --- /dev/null +++ b/src/entregasDesafio/angelica-salvino/valorHora.test.js @@ -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); + }); +}); \ No newline at end of file