create table test

This commit is contained in:
Jan Prochazka
2021-09-05 08:42:56 +02:00
parent f4c39bbf3c
commit 5b58ed9c26
4 changed files with 58 additions and 16 deletions

View File

@@ -1,23 +1,10 @@
const stableStringify = require('json-stable-stringify');
const _ = require('lodash');
const fp = require('lodash/fp');
const uuidv1 = require('uuid/v1');
const { testWrapper } = require('../tools');
const { testWrapper, checkTableStructure } = require('../tools');
const engines = require('../engines');
const { getAlterTableScript, extendDatabaseInfo, generateDbPairingId } = require('dbgate-tools');
function pickImportantTableInfo(table) {
return {
pureName: table.pureName,
columns: table.columns.map(fp.pick(['columnName', 'notNull', 'autoIncrement'])),
};
}
function checkTableStructure(t1, t2) {
// expect(t1.pureName).toEqual(t2.pureName)
expect(pickImportantTableInfo(t1)).toEqual(pickImportantTableInfo(t2));
}
async function testTableDiff(conn, driver, mangle) {
await driver.query(conn, `create table t0 (id int not null primary key)`);

View File

@@ -0,0 +1,41 @@
const engines = require('../engines');
const { testWrapper, checkTableStructure } = require('../tools');
const { extendDatabaseInfo } = require('dbgate-tools');
async function testTableCreate(conn, driver, table) {
const dmp = driver.createDumper();
const table1 = {
...table,
pureName: 'tested',
};
dmp.createTable(table1);
console.log('RUNNING CREATE SQL', driver.engine, ':', dmp.s);
await driver.query(conn, dmp.s);
const db = extendDatabaseInfo(await driver.analyseFull(conn));
const table2 = db.tables.find(x => x.pureName == 'tested');
checkTableStructure(table1, table2);
}
describe('Table create', () => {
test.each(engines.map(engine => [engine.label, engine]))(
'Table structure - full analysis - %s',
testWrapper(async (conn, driver, engine) => {
await testTableCreate(conn, driver, {
columns: [
{
columnName: 'col1',
dataType: 'int',
notNull: true,
autoIncrement: false,
},
],
primaryKey: {
columns: [{ columnName: 'col1' }],
},
});
})
);
});