import "reflect-metadata"; import { DataSource } from "typeorm"; import * as dotenv from "dotenv"; import inMemoryDataSource from "./infrastructure/db/inMemory.datasource"; dotenv.config(); export default class TestSuiteInitializer{ marketplaceDataSource: DataSource; setup = async() => { await this.setupDataBases(); }; close = async() => { await this.closeDataBases(); }; private setupDataBases = async() => { this.marketplaceDataSource = await inMemoryDataSource.initialize(); }; private closeDataBases = async() => { await this.marketplaceDataSource.dropDatabase(); await this.marketplaceDataSource.destroy(); }; } const testSuite = new TestSuiteInitializer(); global.beforeEach( async() => { await testSuite.setup(); }); global.afterEach( async() => { jest.restoreAllMocks(); await testSuite.close(); });