expeditavoluptas
Version:
TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JavaScript.
31 lines (22 loc) • 1.16 kB
text/typescript
import { initORMSqlite2 } from '../../bootstrap';
describe('SchemaGenerator [sqlite2]', () => {
test('generate schema from metadata [sqlite2]', async () => {
const orm = await initORMSqlite2();
const generator = orm.schema;
const dump = await generator.generate();
expect(dump).toMatchSnapshot('sqlite2-schema-dump');
const dropDump = await generator.getDropSchemaSQL({ wrap: false, dropMigrationsTable: true });
expect(dropDump).toMatchSnapshot('sqlite2-drop-schema-dump-1');
await generator.execute(dropDump, { wrap: true });
const dropDump2 = await generator.getDropSchemaSQL();
expect(dropDump2).toMatchSnapshot('sqlite2-drop-schema-dump-2');
await generator.execute(dropDump, { wrap: true });
const createDump = await generator.getCreateSchemaSQL();
expect(createDump).toMatchSnapshot('sqlite2-create-schema-dump');
await generator.execute(createDump, { wrap: true });
const updateDump = await generator.getUpdateSchemaSQL();
expect(updateDump).toMatchSnapshot('sqlite2-update-schema-dump');
await generator.execute(updateDump, { wrap: true });
await orm.close(true);
});
});