reiso
Version:
116 lines • 8.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const { Client } = require('pg');
const Config_1 = require("../../Modules/Config");
const ORM_1 = require("../../Modules/ORM");
describe("Module/ORM", () => {
const username = 'root';
const password = '';
const host = 'database';
const db_name = 'test';
const conStringPri = 'postgres://' + username + ':' + password + '@' + host + '/postgres';
beforeEach(async () => {
const client = new Client(conStringPri);
await client.connect();
await client.query('DROP DATABASE IF EXISTS ' + db_name);
await client.query('CREATE DATABASE ' + db_name);
await client.end();
Config_1.setConfig({
default: {
"db": {
"Main": {
"database": db_name,
"host": host,
"port": 5432,
"type": "postgres",
"username": username,
"password": password
}
}
}
});
ORM_1.cleanEntities();
});
afterEach(async () => {
const client = new Client(conStringPri);
await client.connect();
await client.query('REVOKE CONNECT ON DATABASE ' + db_name + ' FROM public;');
await client.query('DROP DATABASE IF EXISTS ' + db_name);
await client.end();
});
it("sync entity", async () => {
let Test = class Test {
};
tslib_1.__decorate([
ORM_1.PrimaryGeneratedColumn(),
tslib_1.__metadata("design:type", Number)
], Test.prototype, "id", void 0);
tslib_1.__decorate([
ORM_1.Column({
length: 100,
nullable: false,
unique: true
}),
ORM_1.Index("name-idx"),
tslib_1.__metadata("design:type", String)
], Test.prototype, "name", void 0);
tslib_1.__decorate([
ORM_1.CreateDateColumn(),
tslib_1.__metadata("design:type", Date)
], Test.prototype, "date", void 0);
Test = tslib_1.__decorate([
ORM_1.RegisterEntity("Test"),
ORM_1.Entity("test")
], Test);
let commander = ORM_1.Manager('Main', true);
await commander.sync();
await commander.test();
await commander.close();
expect(1).toBe(1);
});
it("create & get", async () => {
let Test = class Test {
};
tslib_1.__decorate([
ORM_1.PrimaryGeneratedColumn(),
tslib_1.__metadata("design:type", Number)
], Test.prototype, "id", void 0);
tslib_1.__decorate([
ORM_1.Column({
length: 100,
nullable: false,
unique: true
}),
ORM_1.Index("name-idx"),
tslib_1.__metadata("design:type", String)
], Test.prototype, "name", void 0);
tslib_1.__decorate([
ORM_1.CreateDateColumn(),
tslib_1.__metadata("design:type", Date)
], Test.prototype, "date", void 0);
Test = tslib_1.__decorate([
ORM_1.RegisterEntity("Test"),
ORM_1.Entity("test")
], Test);
let commander = ORM_1.Manager('Main', true);
await commander.sync();
const connection = await commander.connect();
const repo = connection.getRepository(Test);
const test = new Test();
test.name = 'test';
test.date = new Date();
await repo.save(test);
const testLoaded = await repo.findOne({
name: 'test'
});
expect(testLoaded.name).toBe('test');
await repo.remove(testLoaded);
const testRemovedLoaded = await repo.findOne({
name: 'test'
});
expect(!!testRemovedLoaded).toBeFalsy();
await commander.close();
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT1JNLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1Rlc3QvU2VydmVyL09STS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRWpDLGlEQUFpRDtBQUNqRCwyQ0FBNEk7QUFFNUksUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFFeEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNwQixNQUFNLElBQUksR0FBRyxVQUFVLENBQUM7SUFDeEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBRXZCLE1BQU0sWUFBWSxHQUFHLGFBQWEsR0FBRyxRQUFRLEdBQUcsR0FBRyxHQUFHLFFBQVEsR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLFdBQVcsQ0FBQztJQUUxRixVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsTUFBTSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkIsTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQ3pELE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUNqRCxNQUFNLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVuQixrQkFBUyxDQUFDO1lBQ04sT0FBTyxFQUFFO2dCQUNMLElBQUksRUFBRTtvQkFDRixNQUFNLEVBQUU7d0JBQ0osVUFBVSxFQUFFLE9BQU87d0JBQ25CLE1BQU0sRUFBRSxJQUFJO3dCQUNaLE1BQU0sRUFBRSxJQUFJO3dCQUNaLE1BQU0sRUFBRSxVQUFVO3dCQUNsQixVQUFVLEVBQUUsUUFBUTt3QkFDcEIsVUFB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