@smallprod/models
Version:
49 lines (48 loc) • 1.83 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const __1 = require("../..");
const article_entity_1 = __importDefault(require("./_utils/autocreate/article.entity"));
const category_entity_1 = __importDefault(require("./_utils/autocreate/category.entity"));
const user_entity_1 = __importDefault(require("./_utils/autocreate/user.entity"));
const fs_1 = __importDefault(require("fs"));
describe.each([
['MariaDB', 'maria'],
['MySql', 'mysql'],
['PostgresSql', 'postgres'],
])('Auto generation tests with %s', (dbName, name) => {
let dbManager;
let model;
beforeAll(async (done) => {
dbManager = __1.DbManager.getInstance();
const m = dbManager.get(name);
if (m) {
model = m;
}
else {
throw new Error(`Database connection not found ${name}`);
}
done();
});
beforeEach(async (done) => {
done();
});
test('Auto create tables from entities', async () => {
dbManager.setConfig({ migrationPath: 'temp/migrations' });
__1.EntityManager.registerEntities([user_entity_1.default, article_entity_1.default, category_entity_1.default]);
await __1.EntityManager.initialize(name);
});
afterEach(async (done) => {
await model.query('DROP TABLE migrations');
await model.query('DROP TABLE articles');
await model.query('DROP TABLE categories');
await model.query('DROP TABLE users');
fs_1.default.rmdir('temp/migrations', { recursive: true }, () => {
fs_1.default.mkdir('temp/migrations', {}, () => {
done();
});
});
});
});