From ffc6f3bfa0b987ae85e81d285a9dc47eca162b6c Mon Sep 17 00:00:00 2001 From: espkal <espkal@stud.ntnu.no> Date: Tue, 24 Sep 2019 13:34:00 +0200 Subject: [PATCH] Test --- dao/create_testdata.sql | 5 ++++- dao/persondao.js | 20 +++++++++++++++++++- dao/persondao.test.js | 41 +++++++++++++++++++++++++++++++++++++++++ server.js | 16 ++++++++++++++++ 4 files changed, 80 insertions(+), 2 deletions(-) diff --git a/dao/create_testdata.sql b/dao/create_testdata.sql index b3ee0a7..420d2cd 100644 --- a/dao/create_testdata.sql +++ b/dao/create_testdata.sql @@ -1,3 +1,6 @@ INSERT INTO person (id, navn, alder, adresse) VALUES (1, 'Hei Sveisen', 21, 'Gata 1'), - (2, 'Hei Heisen', 22, 'Gata 2'); + (2, 'Hei Leisen', 21, 'Gata 2'), + (3, 'Hei Meisen', 21, 'Gata 3'), + (4, 'Hei Peisen', 21, 'Gata 4'), + (5, 'Hei Heisen', 22, 'Gata 5'); diff --git a/dao/persondao.js b/dao/persondao.js index 987542b..454830c 100644 --- a/dao/persondao.js +++ b/dao/persondao.js @@ -13,6 +13,24 @@ module.exports = class PersonDao extends Dao { ); } + updateOne(json, id, callback) { + var val = [json.navn, json.adresse, json.alder, id]; + super.query( + "UPDATE person SET navn=?, adresse=?, alder=? WHERE id=?", + val, + callback + ); + } + + deleteOne(id, callback) { + super.query( + "DELETE FROM person WHERE id=?;", + [id], + callback + ); + } + + createOne(json, callback) { var val = [json.navn, json.adresse, json.alder]; super.query( @@ -21,4 +39,4 @@ module.exports = class PersonDao extends Dao { callback ); } -}; +} diff --git a/dao/persondao.test.js b/dao/persondao.test.js index 79f786b..b3db126 100644 --- a/dao/persondao.test.js +++ b/dao/persondao.test.js @@ -77,3 +77,44 @@ test("get all persons from db", done => { personDao.getAll(callback); }); + +test("delete one person from db", done => { + function callback(status, data) { + console.log( + "Test callback: status=" + status + ", data.length=" + data.length + ); + expect(data.affectedRows).toBeGreaterThanOrEqual(1); + done(); + } + + personDao.deleteOne(1, callback); +}); + +test("get all persons from db after delete", done => { + function callback(status, data) { + console.log( + "Test callback: status=" + status + ", data.length=" + data.length + ); + expect(data.length).toBe(5); + done(); + } + + personDao.getAll(callback); +}); + +test("update one person from db", done => { + function callback(status, data) { + console.log( + "Test callback: status=" + status + ", data=" + JSON.stringify(data) + ); + expect(data.affectedRows).toBeGreaterThanOrEqual(1); + done(); + } + + personDao.updateOne( + { navn: "Billy Bob", adresse: "Gata 3", alder: "34"}, + {id:"1"}, + callback + ); +}); + diff --git a/server.js b/server.js index 3e28234..48c3eef 100644 --- a/server.js +++ b/server.js @@ -41,4 +41,20 @@ app.post("/person", (req, res) => { }); }); +pp.delete("/person/:personId", (req, res) => { + console.log("/person/:personId: fikk delete-request fra klient"); + personDao.deleteOne(req.params.personId, (status, data) => { + res.status(status); + res.json(data); + }); +}); + +app.put("/person/:personId", (req, res) => { + console.log("Fikk put-request fra klienten"); + personDao.updateOne(req.body, req.params.personId, (status, data) => { + res.status(status); + res.json(data); + }); +}); + var server = app.listen(8080); -- GitLab