import "reflect-metadata"; import {expect} from "chai"; import {Connection} from "../../../src/connection/Connection"; import {closeTestingConnections, createTestingConnections, reloadTestingDatabases} from "../../utils/test-utils"; describe("query runner > drop table", () => { let connections: Connection[]; before(async () => { connections = await createTestingConnections({ entities: [__dirname + "/entity/*{.js,.ts}"], schemaCreate: true, dropSchema: true, }); }); beforeEach(() => reloadTestingDatabases(connections)); after(() => closeTestingConnections(connections)); it("should correctly drop table without relations and revert drop", () => Promise.all(connections.map(async connection => { const queryRunner = connection.createQueryRunner(); let table = await queryRunner.getTable("post"); table!.should.exist; await queryRunner.dropTable("post"); table = await queryRunner.getTable("post"); expect(table).to.be.undefined; await queryRunner.executeMemoryDownSql(); table = await queryRunner.getTable("post"); table!.should.exist; await queryRunner.release(); }))); it("should correctly drop table with relations and revert drop", () => Promise.all(connections.map(async connection => { const queryRunner = connection.createQueryRunner(); let studentTable = await queryRunner.getTable("student"); let teacherTable = await queryRunner.getTable("teacher"); let facultyTable = await queryRunner.getTable("faculty"); studentTable!.should.exist; teacherTable!.should.exist; facultyTable!.should.exist; await queryRunner.dropTable(studentTable!); await queryRunner.dropTable(teacherTable!); await queryRunner.dropTable(facultyTable!); studentTable = await queryRunner.getTable("student"); teacherTable = await queryRunner.getTable("teacher"); facultyTable = await queryRunner.getTable("faculty"); expect(studentTable).to.be.undefined; expect(teacherTable).to.be.undefined; expect(facultyTable).to.be.undefined; await queryRunner.executeMemoryDownSql(); studentTable = await queryRunner.getTable("student"); teacherTable = await queryRunner.getTable("teacher"); facultyTable = await queryRunner.getTable("faculty"); studentTable!.should.exist; teacherTable!.should.exist; facultyTable!.should.exist; await queryRunner.release(); }))); });