diff --git a/test/chart.ts b/test/chart.ts index 63108ba6e9..931a5b2f0b 100644 --- a/test/chart.ts +++ b/test/chart.ts @@ -17,11 +17,39 @@ process.env.NODE_ENV = 'test'; import * as assert from 'assert'; import * as lolex from 'lolex'; import { async } from './utils'; -import { initDb } from '../src/db/postgre'; import TestChart from '../src/services/chart/charts/classes/test'; import TestGroupedChart from '../src/services/chart/charts/classes/test-grouped'; import TestUniqueChart from '../src/services/chart/charts/classes/test-unique'; -import { Connection } from 'typeorm'; +import * as _TestChart from '../src/services/chart/charts/schemas/test'; +import * as _TestGroupedChart from '../src/services/chart/charts/schemas/test-grouped'; +import * as _TestUniqueChart from '../src/services/chart/charts/schemas/test-unique'; +import { Connection, getConnection, createConnection } from 'typeorm'; +import config from '../src/config'; +import Chart from '../src/services/chart/core'; + +function initDb() { + try { + const conn = getConnection('__for_chart_testing'); + return Promise.resolve(conn); + } catch (e) {} + + return createConnection({ + name: '__for_chart_testing', + type: 'postgres', + host: config.db.host, + port: config.db.port, + username: config.db.user, + password: config.db.pass, + database: config.db.db, + synchronize: true, + dropSchema: true, + entities: [ + Chart.schemaToEntity(_TestChart.name, _TestChart.schema), + Chart.schemaToEntity(_TestGroupedChart.name, _TestGroupedChart.schema), + Chart.schemaToEntity(_TestUniqueChart.name, _TestUniqueChart.schema) + ] + }); +} describe('Chart', () => { let testChart: any; @@ -31,7 +59,7 @@ describe('Chart', () => { let connection: Connection; before(done => { - initDb(true).then(c => { + initDb().then(c => { connection = c; done(); });