From 937717fed6af1a4f47299cddd67fd1f4fc4b6fb5 Mon Sep 17 00:00:00 2001
From: darkjonas8 <jonaskri@stud.ntnu.no>
Date: Tue, 25 Sep 2018 13:19:27 +0200
Subject: [PATCH] Endret persondao

---
 dao/persondao.js      | 18 +++++++++++++
 dao/persondao.test.js | 59 ++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 70 insertions(+), 7 deletions(-)

diff --git a/dao/persondao.js b/dao/persondao.js
index 987542b..7d52236 100644
--- a/dao/persondao.js
+++ b/dao/persondao.js
@@ -21,4 +21,22 @@ module.exports = class PersonDao extends Dao {
       callback
     );
   }
+
+    updateOne(json, callback) {
+        var val = [json.navn, json.adresse, json.alder, json.id];
+        super.query(
+            "update person set navn = ?, adresse = ?, alder = ? 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..6286446 100644
--- a/dao/persondao.test.js
+++ b/dao/persondao.test.js
@@ -5,14 +5,24 @@ const runsqlfile = require("./runsqlfile.js");
 
 // GitLab CI Pool
 var pool = mysql.createPool({
-  connectionLimit: 1,
-  host: "mysql",
-  user: "root",
-  password: "secret",
-  database: "supertestdb",
-  debug: false,
-  multipleStatements: true
+    connectionLimit: 2,
+    host: "mysql",
+    user: "root",
+    password: "secret",
+    database: "supertestdb",
+    debug: false,
+    multipleStatements: true
 });
+/*
+var pool = mysql.createPool({
+  connectionLimit: 2,
+  host: "mysql.stud.iie.ntnu.no",
+  user: "nilstesd",
+  password: "lqqWcMzq",
+  database: "nilstesd",
+  debug: false
+});
+ */
 
 let personDao = new PersonDao(pool);
 
@@ -77,3 +87,38 @@ test("get all persons from db", done => {
 
   personDao.getAll(callback);
 });
+
+test("Update one person in db", done => {
+    function callback(status, data) {
+        console.log(
+            "Test callback: status=" + status + ", data=" + JSON.stringify(data)
+        );
+        expect(data.length).toBe(0);
+        done();
+    }
+
+    personDao.updateOne({ navn: "Oppdatert Nilsen", alder: 99, adresse: "Gata 3", id:0 }, callback);
+});
+
+test("get all persons from db", done => {
+    function callback(status, data) {
+        console.log(
+            "Test callback: status=" + status + ", data.length=" + data.length
+        );
+        expect(data.length).toBeGreaterThanOrEqual(2);
+        done();
+    }
+
+    personDao.getAll(callback);
+});
+
+test("delete 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.deleteOne(0, callback);
+});
-- 
GitLab