hunk.code_window:             console.log(
                   chalk.green("Schema synchronization finished successfully."),
               )
           } catch (err) {
               if (dataSource) await dataSource.destroy()
  
hunk.labels: keep keep keep add keep keep
hunk.after_edit:             PlatformTools.logCmdErr("Error during schema synchronization:", err)
  
hunk.file_path: src/commands/SchemaSyncCommand.ts
hunk.type: add
file: import { expect } from "chai"
  import {
      closeTestingConnections,
      reloadTestingDatabases,
      setupTestingConnections,
  } from "../../utils/test-utils"
  import { MongoDriver } from "../../../src/driver/mongodb/MongoDriver"
  import { DataSource, DataSourceOptions, MongoClient } from "../../../src"
  import { Warn } from "./entity/Warn"
  import { MongoConnectionOptions } from "../../../src/driver/mongodb/MongoConnectionOptions"
  
  describe('github issues > #6900 MongoDB ConnectionManager doesn\'t select given database, creates new database "test" instead', () => {
      let connections: DataSource[] = []
      afterEach(async () => {
          await closeTestingConnections(connections)
          connections.length = 0
      })
  
      it("should connect to the expected database", async () => {
          const options = setupTestingConnections({ enabledDrivers: ["mongodb"] })
  
          if (options.length === 0) {
              // Skip if we can't grab the mongodb
              return
          }
  
          const host: string =
              (options[0] as MongoConnectionOptions).host || "localhost"
  
          const dataSource = new DataSource({
              ...options[0],
              url: `mongodb://${host}`,
              database: "foo",
          } as DataSourceOptions)
          await dataSource.initialize()
          connections.push(dataSource)
  
          await reloadTestingDatabases(connections)
  
          const mongoDriver = dataSource.driver as MongoDriver
          const client = mongoDriver.queryRunner!
              .databaseConnection as any as MongoClient
  
          expect(client.db().databaseName).to.be.equal("foo")
          expect(mongoDriver.database).to.be.equal("foo")
      })
  
      it("should write data to the correct database", async () => {
          const options = setupTestingConnections({ enabledDrivers: ["mongodb"] })
  
          if (options.length === 0) {
              // Skip if we can't grab the mongodb
              return
          }
  
          const host: string =
              (options[0] as MongoConnectionOptions).host || "localhost"
  
          const dataSource = new DataSource({
              ...options[0],
              entities: [Warn],
              url: `mongodb://${host}`,
              database: "foo",
          } as DataSourceOptions)
          await dataSource.initialize()
  
          connections.push(dataSource)
  
          await reloadTestingDatabases(connections)
  
          const repo = dataSource.getRepository(Warn)
  
          await repo.insert({
              id: Math.floor(Math.random() * 1000000),
              guild: "Hello",
              user: "WORLD",
              moderator: "Good Moderator",
              reason: "For Mongo not writing correctly to the databsae!",
              createdAt: new Date(),
          })
  
          const mongoDriver = dataSource.driver as MongoDriver
          const client = mongoDriver.queryRunner!
              .databaseConnection as any as MongoClient
  
          expect(
              await client.db("foo").collection("warnings").count({}),
          ).to.be.greaterThan(0)
      })
  })
  