Select Git revision
persondao.test.js
Forked from
Nils Tesdal / DatabaseTest
This fork has diverged from the upstream repository.
-
Sander Nicolausson authoredSander Nicolausson authored
persondao.test.js 2.33 KiB
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",
user: "root",
password: "secret",
database: "supertestdb",
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("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.length=" + data.length
);
expect(data.affectedRows).toBeGreaterThanOrEqual(1);
done();
}
personDao.deleteOne({id: 1}, callback);
});
test("Update in db", done => {
function callback(status, data) {
console.log(
"Test callback: status= " + status + ", data=" + JSON.stringify(data)
);
expect(data[0].navn).toBe("Donald Nilsen");
done();
}
personDao.updateOne(
{ navn: "Donald Nilsen", alder: 34, adresse: "Apalveien 11" },
0,
callback
);
});