From 995302cbec6ddc3312e3859fa3eb2688b259a0b6 Mon Sep 17 00:00:00 2001 From: Marcia-Moreira Date: Sat, 8 Jun 2024 16:36:58 -0300 Subject: [PATCH] Marcia-Moreira --- package.json | 4 +- .../marcia-moreira/calcularPacote.test.js | 9 ++++ .../marcia-moreira/horasPorProjeto.test.js | 23 +++++++++ .../marcia-moreira/valorHora.test.js | 35 ++++++++++++++ .../marcia-moreira/valorProjeto.test.js | 47 +++++++++++++++++++ 5 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 src/entregasDesafio/marcia-moreira/calcularPacote.test.js create mode 100644 src/entregasDesafio/marcia-moreira/horasPorProjeto.test.js create mode 100644 src/entregasDesafio/marcia-moreira/valorHora.test.js create mode 100644 src/entregasDesafio/marcia-moreira/valorProjeto.test.js diff --git a/package.json b/package.json index f454b90..75fb201 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "keywords": [], "author": "", "license": "ISC", - "dependencies": { - "jest": "^28.1.2" + "devDependencies": { + "jest": "^29.7.0" } } diff --git a/src/entregasDesafio/marcia-moreira/calcularPacote.test.js b/src/entregasDesafio/marcia-moreira/calcularPacote.test.js new file mode 100644 index 0000000..be72d47 --- /dev/null +++ b/src/entregasDesafio/marcia-moreira/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/marcia-moreira/horasPorProjeto.test.js b/src/entregasDesafio/marcia-moreira/horasPorProjeto.test.js new file mode 100644 index 0000000..1de70c3 --- /dev/null +++ b/src/entregasDesafio/marcia-moreira/horasPorProjeto.test.js @@ -0,0 +1,23 @@ +// Pensar em cenários de testes conforme as suas funcionalidades no projeto: +// qual comportamento do teste se colocarmos 3 itens iguais + +const { calcularValorPorHora } = require('../../dominio/calculadora/Hora'); + +describe("Calcular horas de projeto", () => { + test('Calcular horas de projeto - 1 funcionalidade', () => { + const listaDeFuncionalidades = ['formulario']; + const retornado = calcularHorasDeProjeto(listaDeFuncionalidades); + const esperado = 16; + expect(esperado).toBe(retornado); + }); + + test('Calcular horas de projeto - 3 paginas funcionalidade', () => { + const retorno = calcularHorasDeProjeto(['construcao_1_pagina','construcao_1_pagina', 'construcao_1_pagina']); + const esperado = 24; + expect(esperado).toBe(retorno); + }); +}) + + + +// test.only \ No newline at end of file diff --git a/src/entregasDesafio/marcia-moreira/valorHora.test.js b/src/entregasDesafio/marcia-moreira/valorHora.test.js new file mode 100644 index 0000000..2f30d79 --- /dev/null +++ b/src/entregasDesafio/marcia-moreira/valorHora.test.js @@ -0,0 +1,35 @@ +// Importar a Função a ser testada: +const { calcularValorPorHora } = require('../../dominio/calculadora') + +// Valor de Entrada: + +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(3000); + const esperado = 86; + expect(esperado).toBe(retorno); + }) + +}); + + + + + +// comando: +// npm test + +// Quais são as funções desse site: formulario, responsivo, pagamento, calcular algo... \ No newline at end of file diff --git a/src/entregasDesafio/marcia-moreira/valorProjeto.test.js b/src/entregasDesafio/marcia-moreira/valorProjeto.test.js new file mode 100644 index 0000000..74eaa45 --- /dev/null +++ b/src/entregasDesafio/marcia-moreira/valorProjeto.test.js @@ -0,0 +1,47 @@ +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 30 horas e 30 reais/hora', () => { + const valorHora = 30; + const funcionalidades = ["formulario", "responsividade"]; + const retornado = calcularValorTotalProjeto(funcionalidades, valorHora); + const esperado = 900; + expect(retornado).toBe(esperado); + }); + + test('Calcular valor total do projeto quando 40 horas e 30 reais/hora - simulando mock', () => { + const valorHora = 30; + const funcionalidades = ["formulario", "responsividade"]; + const retornado = calcularValorTotalProjeto(funcionalidades, valorHora); + const esperado = 1200; + expect(esperado).toBe(retornado); + }) +}); + +describe('pacote intermediario', () => { + test('calcular valor total do projeto quando 50 horas e 30 reais/hora', () => { + const valorHora = 30; + const funcionalidades = ["func1", "func2"]; // + pacote.calcularPacote.mockReturnValue('intermediario'); + + const retornado = calcularValorTotalProjeto(funcionalidades, valorHora); + const esperado = 50 * 30 * 1.2; + expect(retornado).toBe(esperado); + }); +}); + +describe('pacote premium', () => { + test('calcular valor total do projeto quando 70 horas e 30 reais/hora', () => { + const valorHora = 30; + const funcionalidades = ["func1", "func2", "func3"]; + + pacote.calcularPacote.mockReturnValue('premium'); + + const retornado = calcularValorTotalProjeto(funcionalidades, valorHora); + const esperado = 70 * 30 * 1.3; + expect(retornado).toBe(esperado); + }); +}); \ No newline at end of file