advancements in tests and storing messages
This commit is contained in:
19
back/test/sql/saveMessageApp-test.js
Normal file
19
back/test/sql/saveMessageApp-test.js
Normal file
@@ -0,0 +1,19 @@
|
||||
beforeAll(async () => {
|
||||
// const schema = fs.readFileSync('../../sql/structureV2.sql', 'utf8');
|
||||
// await setupDB(mysqlConfig, schema);
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
global.db.query("DROP database mail_test");
|
||||
});
|
||||
|
||||
describe('saveMessageApp', async () => {
|
||||
|
||||
beforeEach(() => {
|
||||
|
||||
});
|
||||
|
||||
it("", () => {
|
||||
|
||||
});
|
||||
});
|
||||
62
back/test/sql/test-utilsDb.js
Normal file
62
back/test/sql/test-utilsDb.js
Normal file
@@ -0,0 +1,62 @@
|
||||
const mysql = require("mysql");
|
||||
|
||||
export class TestDb {
|
||||
constructor (options) {
|
||||
this.options = options;
|
||||
this.db;
|
||||
}
|
||||
|
||||
async init () {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.db = mysql.createConnection({
|
||||
host: this.options.databaseOptions.host,
|
||||
user: this.options.databaseOptions.user,
|
||||
password: this.options.databaseOptions.pwd,
|
||||
database: this.options.databaseOptions.database,
|
||||
});
|
||||
|
||||
this.db.connect(async function (err) {
|
||||
if (err) {
|
||||
reject("Impossible de se connecter", err.code)
|
||||
} else {
|
||||
if (this.options.dbSchema) {
|
||||
const schema = fs.readFileSync(this.options.dbSchema, 'utf8');
|
||||
await this.execQueryAsync(schema, []);
|
||||
resolve("Database successfully connected and created !")
|
||||
} else {
|
||||
resolve("Database successfully connected");
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
cleanTables() {
|
||||
const query = "SELECT table_name FROM INFORMATION_SCHEMA.tables WHERE table_schema = ?";
|
||||
const values = [this.options.databaseOptions.database];
|
||||
this.execQueryAsync(query, values).then((results) => {
|
||||
this.execQuery("SET FOREIGN_KEY_CHECKS=0");
|
||||
results.map((table) => {
|
||||
execQuery("DROP TABLE " + table.table_name);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
execQuery(query, values) {
|
||||
db.query(query, values, (err, results, fields) => {
|
||||
});
|
||||
}
|
||||
|
||||
async execQueryAsync(query, values) {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.query(query, values, (err, results, fields) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(results);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user