import "reflect-metadata" import { createTestingConnections, closeTestingConnections, reloadTestingDatabases, } from "../../utils/test-utils" import { DataSource } from "../../../src/data-source/DataSource" import { expect } from "chai" describe("github issues > #3443 @JoinTable on entities without synchronization", () => { let dataSources: DataSource[] before( async () => (dataSources = await createTestingConnections({ entities: [__dirname + "/entity/*{.js,.ts}"], schemaCreate: true, dropSchema: true, })), ) beforeEach(() => reloadTestingDatabases(dataSources)) after(() => closeTestingConnections(dataSources)) it("Should set synchronize: false for @JoinTable when passed to options", () => Promise.all( dataSources.map(async (dataSource) => { const PRODUCT_TABLE_NAME = "product" const CATEGORY_TABLE_NAME = "category" const PRODUCT_CATEGORY_TABLE_NAME = "product_category" expect(() => dataSource.getMetadata(PRODUCT_TABLE_NAME), ).not.to.throw() expect(() => dataSource.getMetadata(CATEGORY_TABLE_NAME), ).not.to.throw() expect(() => dataSource.getMetadata(PRODUCT_CATEGORY_TABLE_NAME), ).not.to.throw() expect( dataSource.getMetadata(PRODUCT_CATEGORY_TABLE_NAME) .synchronize, ).to.equal(false) }), )) // you can add additional tests if needed })