From 7a0cb7383d6657dd6fae058a3f232b7c4589e5ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B8rnar=20=C3=98sttveit?= <bjornost@stud.ntnu.no>
Date: Mon, 24 Sep 2018 21:11:46 +0200
Subject: [PATCH] oppgave 1,2,3

---
 dao/persondao.js      | 19 +++++++++++++++++++
 dao/persondao.test.js | 26 ++++++++++++++++++++++++++
 server.js             | 16 ++++++++++++++++
 3 files changed, 61 insertions(+)

diff --git a/dao/persondao.js b/dao/persondao.js
index 987542b..ec64dda 100644
--- a/dao/persondao.js
+++ b/dao/persondao.js
@@ -21,4 +21,23 @@ module.exports = class PersonDao extends Dao {
       callback
     );
   }
+
+  updateOne(json, callback){
+      var val= [json.navn,json.alder,json.adresse,json.id];
+      super.query(
+          "UPDATE person SET navn=?,alder=?,adresse=? WHERE id=? ",
+          val,
+          callback
+      );
+  }
+
+  deleteOne(json,callback){
+      var val=[json.id];
+      super.query(
+          "DELETE from person WHERE id=?",
+          val,
+          callback
+      );
+  }
+
 };
diff --git a/dao/persondao.test.js b/dao/persondao.test.js
index 79f786b..826541f 100644
--- a/dao/persondao.test.js
+++ b/dao/persondao.test.js
@@ -77,3 +77,29 @@ test("get all persons from db", done => {
 
   personDao.getAll(callback);
 });
+
+test("Update a person", done =>{
+    function callback(status,data) {
+        console.log(
+            "Test callback: status=" + status +", data=" + JSON.stringify(data)
+        );
+        expect(data.affectedRows).toBeGreaterThanOrEqual(1);
+        done();
+    }
+    personDao.updateOne({navn: "Stian Ã…dnanes", alder:20, adresse: "Gate 4",id : 2},
+        callback
+    );
+});
+
+test("Delete a person", done =>{
+    function callback(status,data){
+        console.log(
+            "Test callback: status="+ status+", data="+ JSON.stringify(data)
+        );
+        expect(data.affectedRows).toBeGreaterThanOrEqual(1);
+        done();
+    }
+    personDao.deleteOne({id: 100},
+        callback
+    );
+});
diff --git a/server.js b/server.js
index 3e28234..02005df 100644
--- a/server.js
+++ b/server.js
@@ -41,4 +41,20 @@ app.post("/person", (req, res) => {
   });
 });
 
+app.put("/person",(req,res) =>{
+    console.log("Fikk put request fra klienten");
+    personDao.updateOne(reg.body,(status, data) =>{
+        res.status(status);
+        res.json(data);
+    });
+});
+
+add.delete("/person",(reg,res) =>{
+    console.log("Fikk slettet en person");
+    personDao.deleteOne(reg.body,(status, data)=>{
+        res.status(status);
+        res.json(data);
+    });
+});
+
 var server = app.listen(8080);
-- 
GitLab