Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Codespace crispy journey 4jjgpqx7pjg37qpr #82

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
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
44 changes: 44 additions & 0 deletions app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// Esta es mi función que suma dos números
const sum = (a,b) => {
return a + b
}

// Solo un registro en consola para nosotros
console.log(sum(7,3))

// Exporta la función para usarla en otros archivos
// (similar a la palabra clave "export" cuando se usa webpack)
module.exports = { sum };

// Valores de conversión
let oneEuroIs = {
"JPY": 156.5, // yen japonés
"USD": 1.07, // dólar estadounidense
"GBP": 0.87 // libra esterlina
};

// Declaramos una función con el nombre exacto "formEuroToDollar"
const fromEuroToDollar = function(valueInEuro) {
// Convertimos el valor a dólares
let valueInDollar = valueInEuro * 1.07;
// Retornamos el valor en dólares
return valueInDollar;
}



// Función para convertir de dólares a yenes
function fromDollarToYen(dollars) {
let euros = dollars / oneEuroIs.USD; // Convertir dólares a euros
let yen = euros * oneEuroIs.JPY; // Convertir euros a yenes
return yen;
}

// Función para convertir de yenes a libras
function fromYenToPound(yen) {
let euros = yen / oneEuroIs.JPY; // Convertir yenes a euros
let pounds = euros * oneEuroIs.GBP; // Convertir euros a libras
return pounds;
}

module.exports = { sum, fromEuroToDollar, fromDollarToYen, fromYenToPound }
53 changes: 53 additions & 0 deletions test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
// Importar la función sum del archivo app.js
const { sum } = require('./app.js');

// Comienza tu primera prueba
test('adds 14 + 9 to equal 23', () => {
// Dentro de la prueba llamamos a nuestra función sum con 2 números
let total = sum(14, 9);

// Esperamos que la suma de esos 2 números sea 23
expect(total).toBe(23);
});

test("One euro should be 1.07 dollars", function() {
// Importo la funcion desde app.js
const { fromEuroToDollar } = require('./app.js');

// Uso la función como debe ser usada
const dollars = fromEuroToDollar(3.5);

// Si 1 euro son 1.07 dólares, entonces 3.5 euros debe ser (3.5 * 1.07)
const expected = 3.5 * 1.07;

// Hago mi comparación (la prueba)
expect(fromEuroToDollar(3.5)).toBe(3.745); // 1 euro son 1.07 dólares, entonces 3.5 euros deberían ser = (3.5 * 1.07)
})

test("One dollar should be 156.5 / 1.07 yen", function() {
// Importo la función desde app.js
const { fromDollarToYen } = require('./app.js');

// Prueba para convertir dólares a yenes
const yen = fromDollarToYen(5);

// Si 1 euro es 1.07 dólares y 1 euro es 156.5 yen, entonces 1 dólar son 156.5 / 1.07 yen
const expected = (5 / 1.07) * 156.5;

// Hago mi comparación (la prueba)
expect(yen).toBeCloseTo(expected, 5);
});

test("One yen should be 0.87 / 156.5 pounds", function() {
// Importo la función desde app.js
const { fromYenToPound } = require('./app.js');

// Prueba para convertir yenes a libras
const pounds = fromYenToPound(1000);

// Si 1 yen es 1/156.5 euros y 1 euro es 0.87 libras, entonces 1 yen es (0.87 / 156.5) libras
const expected = (1000 / 156.5) * 0.87;

// Hago mi comparación (la prueba)
expect(pounds).toBeCloseTo(expected, 5);
});