Skip to content

Commit

Permalink
Fix error in options reader when list of entitites is provided
Browse files Browse the repository at this point in the history
Check was reverted so instead of guarding the call to `substr`, it was passing the wrong types.
  • Loading branch information
Ostrzy committed Sep 3, 2017
1 parent a87ed7a commit 2e5d199
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/connection/ConnectionOptionsReader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ export class ConnectionOptionsReader {

if (options.entities) {
const entities = (options.entities as any[]).map(entity => {
if (typeof entity === "string" || entity.substr(0, 1) !== "/")
if (typeof entity === "string" && entity.substr(0, 1) !== "/")
return this.baseFilePath + "/" + entity;

return entity;
Expand All @@ -122,7 +122,7 @@ export class ConnectionOptionsReader {
}
if (options.subscribers) {
const subscribers = (options.subscribers as any[]).map(subscriber => {
if (typeof subscriber === "string" || subscriber.substr(0, 1) !== "/")
if (typeof subscriber === "string" && subscriber.substr(0, 1) !== "/")
return this.baseFilePath + "/" + subscriber;

return subscriber;
Expand All @@ -131,7 +131,7 @@ export class ConnectionOptionsReader {
}
if (options.migrations) {
const migrations = (options.migrations as any[]).map(migration => {
if (typeof migration === "string" || migration.substr(0, 1) !== "/")
if (typeof migration === "string" && migration.substr(0, 1) !== "/")
return this.baseFilePath + "/" + migration;

return migration;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import {PrimaryGeneratedColumn} from "../../../../src/decorator/columns/PrimaryGeneratedColumn";
import {Column} from "../../../../src/decorator/columns/Column";
import {Entity} from "../../../../src/decorator/entity/Entity";

@Entity()
export class Post {

@PrimaryGeneratedColumn()
id: number;

@Column()
title: string;

constructor(id: number, title: string) {
this.id = id;
this.title = title;
}
}

module.exports = {
type: "mysql",
name: "test-conn",
host: "localhost",
port: 3306,
username: "test",
password: "test",
database: "test",
logging: false,
entities: [Post],
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import {expect} from "chai";
import {ConnectionOptions} from "../../../src/connection/ConnectionOptions";
import {ConnectionOptionsReader} from "../../../src/connection/ConnectionOptionsReader";

describe("ConnectionOptionsReader", () => {
it("properly loads config with entities specified", async () => {
type EntititesList = Function[] | string[];
const connectionOptionsReader = new ConnectionOptionsReader({ root: __dirname, configName: "configs/class-entities" });
const options: ConnectionOptions = await connectionOptionsReader.get("test-conn");
expect(options.entities).to.be.an.instanceOf(Array);
const entities: EntititesList = options.entities as EntititesList;
expect(entities.length).to.equal(1);
});
});

0 comments on commit 2e5d199

Please sign in to comment.