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
6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,13 @@
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "jest"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"devDependencies": {
"jest": "^29.5.0"
}
}
16 changes: 16 additions & 0 deletions src/dominio/calculadora/Hora/valorHora.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
const { calcularValorPorHora} = require ('./valorHora')

test ('retornar o valor arredondado correto dado por mês', () => {
expect (calcularValorPorHora(5000)).toBe(10)
})

describe ('Valor por hora',() => {
test('retornar o valor arredondado correto dado o valor recebido por mês ', ()=> {
const valorPorMes = 1300;

const result = calcularValorPorHora(valorPorMes);

expect(result).toEqual(8);
});

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

describe('Cálculo de horas totais para finalizar um projeto', () =>{
test('Dado um array com as funcionalidades desejadas no projeto, retornar a soma das horas das funcionalidades', () =>{
const funcionalidades = [
'setup',
'responsividade',
'construcao_1_pagina',
'construcao_1_pagina',
'construcao_1_pagina',
'formulario',
'ssr'
]
const result = calcularHorasDeProjeto(funcionalidades);

expect(result).toEqual(72)
})
})

test('Calcular horas com funcionalidade que não existe', () =>{
const listaDeFuncionalidadesNaoExiste = ['formulario']

expect(calcularHorasDeProjeto(listaDeFuncionalidadesNaoExiste)).toBeNaN()
})
18 changes: 18 additions & 0 deletions src/dominio/calculadora/Projeto/pacote.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
const { calcularPacote} = require ('./pacote');

describe ('Calcular pacote correto para cada projeto',()=>{
test('Retorna pacote básico caso o número total seja até 50',() => {
const totalDeHorasPorProjeto = 49
const result = calcularPacote(totalDeHorasPorProjeto);

expect(result).toEqual('pacote_basico')

})

test('Retornar pacote básico caso o número total de horas seja exatamente 50', ()=>{
const totalDeHorasPorProjeto = 50
const result = calcularPacote(totalDeHorasPorProjeto);

expect (result).toEqual('pacote_basico')
})
})
1 change: 1 addition & 0 deletions src/dominio/calculadora/Projeto/valorProjeto.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ const calcularValorTotalProjeto = (funcionalidades, valorHora) => {
}

exports.calcularValorTotalProjeto = calcularValorTotalProjeto;
exports.calcularValorBaseProjeto = calcularValorBaseProjeto;
57 changes: 57 additions & 0 deletions src/dominio/calculadora/Projeto/valorProjeto.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
const { calcularValorTotalProjeto} = require ('./valorProjeto');
const { calcularHorasDeProjeto } = require('./horasPorProjeto');
const { calcularValorBaseProjeto } = require ('./valorProjeto');

const pacote = require ('./pacote')

jest.mock ('./pacote.js')

describe ('valor do projeto', ()=>{
beforeEach (() => {
pacote.calcularPacote.mockReturnValue('pacote_basico');
})
test('retornar valor total para um projeto dado as funcionalidades', ()=>{
// A soma dá 72
const funcionalidades = [
'setup',
'responsividade',
'construcao_1_pagina',
'construcao_1_pagina',
'construcao_1_pagina',
'formulario',
'ssr'
];
const valorHora = 70;

const result = calcularValorTotalProjeto (funcionalidades, valorHora)

expect(result).toEqual(5544)

})


})
describe ('valor base do projeto', ()=>{
beforeEach (() => {
pacote.calcularPacote.mockReturnValue('pacote_basico');
})
test('Retornar valor base do Projeto, para questão de visualização',()=>{
const funcionalidades = [
'setup',
'responsividade',
'construcao_1_pagina',
'construcao_1_pagina',
'construcao_1_pagina',
'formulario',
'ssr'
]

const valorHora = 70;

const totalDeHorasPorProjeto = calcularHorasDeProjeto(funcionalidades);

const result = calcularValorBaseProjeto (totalDeHorasPorProjeto, valorHora);

expect (result).toEqual(5040)
} )
})
5 changes: 5 additions & 0 deletions src/entregasDesafio/exemplo-doria-fernandes/soma.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
function soma (a , b) {
return a + b;
}

module.exports = soma;
6 changes: 6 additions & 0 deletions src/entregasDesafio/exemplo-doria-fernandes/soma.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
const soma = require ('./soma')

test(" A Soma de 1 + 2 é 3", () =>{

expect (soma(1,2)).toBe(3);
});