UNPKG

typeorm-test-transactions

Version:

A transactional wrapper for tests that use TypeORM that automatically rolls back the transaction at the end of the test.

30 lines (27 loc) 1.05 kB
import { Connection, createConnection } from 'typeorm'; import { User } from './entities/user.entity'; export async function initialiseTestDatabase() { return new Promise<Connection>((resolve, reject) => { const connectionConfig = { type: process.env.DB_TYPE as any, host: process.env.DB_HOST, port: parseInt(process.env.DB_PORT, 10), username: process.env.DB_USERNAME, password: process.env.DB_PASSWORD, database: process.env.DB_DATABASE, entities: [User], synchronize: true, dropSchema: process.env.DB_INIT, logging: false, }; createConnection(connectionConfig as any) .then(connection => { // here you can start to work with your entities if (process.env.DB_INIT) { console.log(`Database initialised...`); } resolve(connection); }) .catch(error => reject(error)); }); }