Forked from
Nils Tesdal / DatabaseTest
7 commits ahead of the upstream repository.
-
Jonas Kristoffersen authoredJonas Kristoffersen authored
persondao.test.js 2.87 KiB
var mysql = require("mysql");
const PersonDao = require("./persondao.js");
const runsqlfile = require("./runsqlfile.js");
// GitLab CI Pool
var pool = mysql.createPool({
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);
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("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("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("Update one person in db", done => {
function callback(status, data) {
console.log(
"Test callback: status=" + status + ", data=" + JSON.stringify(data)
);
expect(data.affectedRows).toBeGreaterThanOrEqual(1);
done();
}
personDao.updateOne(1, { navn: "Oppdatert Nilsen", alder: 99, adresse: "Gata 3"}, 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);
});