From c34f2912e0e466902c7953cdb222a886b0646fb6 Mon Sep 17 00:00:00 2001 From: Kononnable Date: Mon, 21 Jan 2019 23:51:25 +0100 Subject: [PATCH] refactorings --- src/drivers/AbstractDriver.ts | 1 - test/integration/defaultValues.test.ts | 11 ++- test/integration/entityTypes.test.ts | 11 ++- test/integration/githubIssues.test.ts | 12 ++- test/integration/integration.test.ts | 11 ++- test/utils/GeneralTestUtils.ts | 103 +++++++------------------ 6 files changed, 47 insertions(+), 102 deletions(-) diff --git a/src/drivers/AbstractDriver.ts b/src/drivers/AbstractDriver.ts index a86f454..7570cfa 100644 --- a/src/drivers/AbstractDriver.ts +++ b/src/drivers/AbstractDriver.ts @@ -3,7 +3,6 @@ import { WithPrecisionColumnType, WithWidthColumnType } from "typeorm/driver/types/ColumnTypes"; -import { AbstractNamingStrategy } from "../AbstractNamingStrategy"; import { ColumnInfo } from "../models/ColumnInfo"; import { DatabaseModel } from "../models/DatabaseModel"; import { EntityInfo } from "../models/EntityInfo"; diff --git a/test/integration/defaultValues.test.ts b/test/integration/defaultValues.test.ts index 33d3b17..a840a47 100644 --- a/test/integration/defaultValues.test.ts +++ b/test/integration/defaultValues.test.ts @@ -4,13 +4,11 @@ import fs = require('fs-extra'); import path = require('path') import "reflect-metadata"; import { EntityFileToJson } from "../utils/EntityFileToJson"; -const chai = require('chai'); -const chaiSubset = require('chai-subset'); +import chai = require('chai'); +import chaiSubset = require('chai-subset'); import * as ts from "typescript"; -import { Engine, IConnectionOptions, IGenerationOptions } from "../../src/Engine"; +import { Engine } from "../../src/Engine"; import * as GTU from "../utils/GeneralTestUtils" -import { AbstractDriver } from "../../src/drivers/AbstractDriver"; -import { Exception } from "handlebars"; chai.use(chaiSubset); @@ -35,7 +33,8 @@ describe("Column default values", async function () { fs.removeSync(resultsPath) const driver = Engine.createDriver(dbDriver); - const [connectionOptions, generationOptions] = await GTU.getDriverAndOptions(dbDriver, filesOrgPathJS, resultsPath); + const connectionOptions = await GTU.createModelsInDb(dbDriver, filesOrgPathJS); + const generationOptions = GTU.getGenerationOptions(resultsPath); await Engine.createModelFromDatabase(driver,connectionOptions,generationOptions) const filesGenPath = path.resolve(resultsPath, 'entities') diff --git a/test/integration/entityTypes.test.ts b/test/integration/entityTypes.test.ts index 071b5bd..d39d831 100644 --- a/test/integration/entityTypes.test.ts +++ b/test/integration/entityTypes.test.ts @@ -4,13 +4,11 @@ import fs = require('fs-extra'); import path = require('path') import "reflect-metadata"; import { EntityFileToJson } from "../utils/EntityFileToJson"; -const chai = require('chai'); -const chaiSubset = require('chai-subset'); +import chai = require('chai'); +import chaiSubset = require('chai-subset'); import * as ts from "typescript"; -import { Engine, IConnectionOptions, IGenerationOptions } from "../../src/Engine"; +import { Engine } from "../../src/Engine"; import * as GTU from "../utils/GeneralTestUtils" -import { AbstractDriver } from "../../src/drivers/AbstractDriver"; -import { Exception } from "handlebars"; chai.use(chaiSubset); @@ -35,7 +33,8 @@ describe("Platform specyfic types", async function () { fs.removeSync(resultsPath) const driver = Engine.createDriver(dbDriver); - const [connectionOptions, generationOptions] = await GTU.getDriverAndOptions(dbDriver, filesOrgPathJS, resultsPath); + const connectionOptions = await GTU.createModelsInDb(dbDriver, filesOrgPathJS); + const generationOptions = GTU.getGenerationOptions(resultsPath); await Engine.createModelFromDatabase(driver,connectionOptions,generationOptions) const filesGenPath = path.resolve(resultsPath, 'entities') diff --git a/test/integration/githubIssues.test.ts b/test/integration/githubIssues.test.ts index 21aea8f..ddb9b4a 100644 --- a/test/integration/githubIssues.test.ts +++ b/test/integration/githubIssues.test.ts @@ -3,15 +3,12 @@ import { expect } from "chai"; import fs = require('fs-extra'); import path = require('path') import "reflect-metadata"; -import * as Sinon from 'sinon' -import { Connection, ConnectionOptions, createConnection } from "typeorm"; -import { Engine, IConnectionOptions, IGenerationOptions } from "../../src/Engine"; +import { Engine } from "../../src/Engine"; import { EntityFileToJson } from "../utils/EntityFileToJson"; -const chai = require('chai'); -const chaiSubset = require('chai-subset'); +import chai = require('chai'); +import chaiSubset = require('chai-subset'); import * as ts from "typescript"; import * as GTU from "../utils/GeneralTestUtils" -import { AbstractDriver } from "../../src/drivers/AbstractDriver"; chai.use(chaiSubset); @@ -49,7 +46,8 @@ describe("GitHub issues", async function () { fs.removeSync(resultsPath) const driver = Engine.createDriver(dbDriver); - const [connectionOptions, generationOptions] = await GTU.getDriverAndOptions(dbDriver, filesOrgPathJS, resultsPath); + const connectionOptions = await GTU.createModelsInDb(dbDriver, filesOrgPathJS); + const generationOptions = GTU.getGenerationOptions(resultsPath); switch (folder) { case '65': diff --git a/test/integration/integration.test.ts b/test/integration/integration.test.ts index 0ee219c..edf6401 100644 --- a/test/integration/integration.test.ts +++ b/test/integration/integration.test.ts @@ -3,13 +3,12 @@ import { expect } from "chai"; import fs = require('fs-extra'); import path = require('path') import "reflect-metadata"; -import { Engine, IConnectionOptions, IGenerationOptions } from "../../src/Engine"; +import { Engine } from "../../src/Engine"; import { EntityFileToJson } from "../utils/EntityFileToJson"; -const chai = require('chai'); -const chaiSubset = require('chai-subset'); +import chai = require('chai'); +import chaiSubset = require('chai-subset'); import * as ts from "typescript"; import * as GTU from "../utils/GeneralTestUtils" -import { AbstractDriver } from "../../src/drivers/AbstractDriver"; chai.use(chaiSubset); @@ -17,7 +16,6 @@ describe("TypeOrm examples", async function () { this.timeout(30000) this.slow(5000)// compiling created models takes time - const dbDrivers: string[] = GTU.getEnabledDbDrivers(); const examplesPathJS = path.resolve(process.cwd(), 'dist/test/integration/examples') @@ -34,7 +32,8 @@ describe("TypeOrm examples", async function () { fs.removeSync(resultsPath) const driver=Engine.createDriver(dbDriver); - const [connectionOptions, generationOptions] = await GTU.getDriverAndOptions(dbDriver, filesOrgPathJS, resultsPath); + const connectionOptions = await GTU.createModelsInDb(dbDriver, filesOrgPathJS); + const generationOptions = GTU.getGenerationOptions(resultsPath); if (folder == 'sample18-lazy-relations') { generationOptions.lazy = true; diff --git a/test/utils/GeneralTestUtils.ts b/test/utils/GeneralTestUtils.ts index 267437b..a710ded 100644 --- a/test/utils/GeneralTestUtils.ts +++ b/test/utils/GeneralTestUtils.ts @@ -2,7 +2,6 @@ import path = require('path') import { ConnectionOptions, createConnection } from "typeorm"; import * as ts from "typescript"; import * as yn from "yn" -import { AbstractNamingStrategy } from "../../src/AbstractNamingStrategy"; import { AbstractDriver } from "../../src/drivers/AbstractDriver"; import { MariaDbDriver } from "../../src/drivers/MariaDbDriver"; import { MssqlDriver } from "../../src/drivers/MssqlDriver"; @@ -10,22 +9,22 @@ import { MysqlDriver } from "../../src/drivers/MysqlDriver"; import { OracleDriver } from "../../src/drivers/OracleDriver"; import { PostgresDriver } from "../../src/drivers/PostgresDriver"; import { SqliteDriver } from "../../src/drivers/SqliteDriver"; -import { Engine, IConnectionOptions, IGenerationOptions } from "../../src/Engine"; +import { IConnectionOptions, IGenerationOptions } from "../../src/Engine"; import { NamingStrategy } from "../../src/NamingStrategy"; -export function getGenerationOptions():IGenerationOptions{ +export function getGenerationOptions(resultsPath: string): IGenerationOptions { return { - resultsPath: "", - noConfigs: false, - convertCaseEntity: 'none', - convertCaseFile: 'none', - convertCaseProperty: 'none', - propertyVisibility: 'none', - lazy: false, - constructor: false, - namingStrategy: new NamingStrategy(), - relationIds: false, - activeRecord: false + resultsPath: resultsPath, + noConfigs: false, + convertCaseEntity: 'none', + convertCaseFile: 'none', + convertCaseProperty: 'none', + propertyVisibility: 'none', + lazy: false, + constructor: false, + namingStrategy: new NamingStrategy(), + relationIds: false, + activeRecord: false } } @@ -61,20 +60,11 @@ export async function createMSSQLModels(filesOrgPath: string): Promise { - - let connectionOptions: IConnectionOptions; - let generationOptions = getGenerationOptions(); - switch (dbDriver) { +export function createModelsInDb(dbDriver: string, filesOrgPathJS: string): Promise { + switch (dbDriver) { case 'sqlite': - connectionOptions = await createSQLiteModels(filesOrgPathJS); - break; + return createSQLiteModels(filesOrgPathJS); case 'postgres': - connectionOptions = await createPostgresModels(filesOrgPathJS); - break; + return createPostgresModels(filesOrgPathJS); case 'mysql': - connectionOptions = await createMysqlModels(filesOrgPathJS); - break; + return createMysqlModels(filesOrgPathJS); case 'mariadb': - connectionOptions = await createMariaDBModels(filesOrgPathJS); - break; + return createMariaDBModels(filesOrgPathJS); case 'mssql': - connectionOptions = await createMSSQLModels(filesOrgPathJS); - break; + return createMSSQLModels(filesOrgPathJS); case 'oracle': - connectionOptions = await createOracleDBModels(filesOrgPathJS); - break; + return createOracleDBModels(filesOrgPathJS); default: console.log(`Unknown engine type`); throw new Error("Unknown engine type"); } - generationOptions.resultsPath = resultsPath; - return [connectionOptions, generationOptions]; } -