import "reflect-metadata"; import * as path from "path"; import {expect} from "chai"; import {Post} from "./entity/Post"; import {Connection} from "../../../src/connection/Connection"; import {closeTestingConnections, createTestingConnections, reloadTestingDatabases} from "../../utils/test-utils"; import {PlatformTools} from "../../../src/platform/PlatformTools"; describe("sqljs driver > startup", () => { let connections: Connection[]; const pathToSqlite = path.resolve(__dirname, "startup.sqlite"); before(async () => connections = await createTestingConnections({ entities: [Post], schemaCreate: true, dropSchema: true, enabledDrivers: ["sqljs"], driverSpecific: { autoSave: true, location: pathToSqlite, } })); beforeEach(() => reloadTestingDatabases(connections)); after(() => closeTestingConnections(connections)); it("should startup even if the file doesn't exist", () => Promise.all(connections.map(async connection => { // if we come this far, test was successful as a connection was established expect(connection).to.not.be.null; }))); it("should write a new file after first write operation", () => Promise.all(connections.map(async connection => { let post = new Post(); post.title = "The title"; const repository = connection.getRepository(Post); await repository.save(post); expect(PlatformTools.fileExist(pathToSqlite)).to.be.true; }))); });