From efbbffd73cc968a67905bb878e79ac01fffe39d8 Mon Sep 17 00:00:00 2001 From: Visar Date: Tue, 11 Jan 2022 16:54:30 +0100 Subject: [PATCH 1/5] Ajout de la division dans la calculatrice --- app/functions.js | 6 +++++- app/server.js | 9 ++++++++- app/test/unit.test.js | 14 ++++++++++---- app/views/index.ejs | 38 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 61 insertions(+), 6 deletions(-) diff --git a/app/functions.js b/app/functions.js index 46b9fce..41adef0 100644 --- a/app/functions.js +++ b/app/functions.js @@ -8,4 +8,8 @@ exports.add = (num1, num2) => { exports.mul = (num1, num2) => { return (num1 * num2).toString(); -} \ No newline at end of file +} + +exports.div = (num1, num2) => { + return (num1 / num2).toString(); +} diff --git a/app/server.js b/app/server.js index 8ca7202..a64b7a8 100644 --- a/app/server.js +++ b/app/server.js @@ -1,5 +1,5 @@ const express = require('express'); -const { sub, mul, add } = require("./functions"); +const { sub, mul, add, div } = require("./functions"); // Constants const PORT = 8080; @@ -35,5 +35,12 @@ app.post('/mul', (req, res) => { return res.status(200).send(total); }) +app.post('/div', (req, res) => { + var num1 = parseFloat(req.body.num1); + var num2 = parseFloat(req.body.num2); + var total = div(num1, num2); + return res.status(200).send(total); +}) + app.listen(PORT, HOST); console.log(`Running on http://${HOST}:${PORT}`); diff --git a/app/test/unit.test.js b/app/test/unit.test.js index 83cf214..07a8457 100644 --- a/app/test/unit.test.js +++ b/app/test/unit.test.js @@ -1,13 +1,19 @@ const assert = require('assert'); -const { sub, mul, add } = require("../functions"); +const { sub, mul, add, div } = require("../functions"); describe('Tests unitaire', () => { it('should return -3', () => { - assert.equal(sub(2, 5), -3); + assert.equal(sub(2, 5), '-3'); }); it('should return 7', () => { - assert.equal(add(2, 5), 7); + assert.equal(add(2, 5), '7'); }); it('should return 12', () => { - assert.equal(mul(6, 2), 12); + assert.equal(mul(6, 2), '12'); + }); + it('should return 6', () => { + assert.equal(div(12, 2), '6'); + }); + it('should return NaN', () => { + assert.equal(div(6, 0), 'NaN'); }); }); \ No newline at end of file diff --git a/app/views/index.ejs b/app/views/index.ejs index be5a172..fe50ea2 100644 --- a/app/views/index.ejs +++ b/app/views/index.ejs @@ -70,6 +70,26 @@ +
+
+
+ +
+
+
+ / +
+
+
+ +
+
+ +
+
+ +
+
@@ -129,6 +149,24 @@ xhr.setRequestHeader("Content-type", "application/json; charset=utf-8"); xhr.send(JSON.stringify(params)) } + function divide() { + var x = document.getElementById('div1').value + var y = document.getElementById('div2').value + var res = document.getElementById('divres') + var params = { + "num1": x, + "num2": y + } + let xhr = new XMLHttpRequest() + xhr.open('POST', '/div', true) + xhr.onreadystatechange = function () { + if (xhr.readyState === 4 && xhr.status === 200) { + res.innerHTML = xhr.responseText + } + }; + xhr.setRequestHeader("Content-type", "application/json; charset=utf-8"); + xhr.send(JSON.stringify(params)) + }