UNPKG

@smallprod/models

Version:
49 lines (48 loc) 1.83 kB
"use strict"; 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(); }); }); }); });