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", 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 ); expect(data.affectedRows).toBeGreaterThanOrEqual(1); 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); }); test("fail this should do ho", done => { function callback(status, data) { console.log( "Test callback: status=" + status + ", data=" + JSON.stringify(data) ); expect(data).toBe(1); done(); } callback(100, 2) });