Newer
Older
var mysql = require("mysql");
const PersonDao = require("./persondao.js");
const runsqlfile = require("./runsqlfile.js");
// GitLab CI Pool
var pool = mysql.createPool({
connectionLimit: 1,
host: "mysql.stud.iie.ntnu.no",
user: "root",
password: "secret",
database: "supertestdb",
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
debug: false,
multipleStatements: true
});
let personDao = new PersonDao(pool);
beforeAll(done => {
runsqlfile("dao/create_tables.sql", pool, () => {
runsqlfile("dao/create_testdata.sql", pool, done);
});
});
afterAll(() => {
pool.end();
});
test("get one person from db", done => {
function callback(status, data) {
console.log(
"Test callback: status=" + status + ", data=" + JSON.stringify(data)
);
expect(data.length).toBe(1);
expect(data[0].navn).toBe("Hei Sveisen");
done();
}
personDao.getOne(1, callback);
});
test("get unknown person from db", done => {
function callback(status, data) {
console.log(
"Test callback: status=" + status + ", data=" + JSON.stringify(data)
);
expect(data.length).toBe(0);
done();
}
personDao.getOne(0, callback);
});
test("add person to db", done => {
function callback(status, data) {
console.log(
"Test callback: status=" + status + ", data=" + JSON.stringify(data)
);
expect(data.affectedRows).toBeGreaterThanOrEqual(1);
done();
}
personDao.createOne(
{ navn: "Nils Nilsen", alder: 34, adresse: "Gata 3" },
callback
);
});
test("update person in db", done => {
function callback(status, data) {
console.log(
"Test callback: status=" + status + ", data=" + JSON.stringify(data)
);
function callback2(status, data) {
console.log(
"Test callback: status=" + status + ", data=" + JSON.stringify(data)
);
expect(data.length).toBe(1);
expect(data[0].navn).toBe("Tale Leif");
done();
}
personDao.getOne(2, callback2);
}
personDao.updateOne(
{ navn: "Tale Leif", alder: 57, adresse: "Veien 5", id: 2 },
callback
);
});
test("delete person in db", done => {
function callback(status, data) {
console.log(
"Test callback: status=" + status + ", data.length=" + data.length
);
done();
}
personDao.deleteOne(1, 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);
});