import { expect, expectAsync, tap } from '@pushrocks/tapbundle'; import * as smartmongo from '@pushrocks/smartmongo'; import * as mongodump from '../ts/index.js'; import * as sampledata from './sampledata.js'; let testSmartMongo: smartmongo.SmartMongo; let testMongodump: mongodump.MongoDump; tap.test('should create a test database', async () => { testSmartMongo = await smartmongo.SmartMongo.createAndStart(); }); tap.test('should create a mongodump instance', async () => { testMongodump = new mongodump.MongoDump(); expect(testMongodump).toBeInstanceOf(mongodump.MongoDump); }); tap.test('should deploy sample data', async () => { await sampledata.generateTestData(await testSmartMongo.getMongoDescriptor()) }) tap.test('should add a mongotarget to mongodump instance', async () => { const target = await testMongodump.addMongoTargetByMongoDescriptor(await testSmartMongo.getMongoDescriptor()); await target.getCollections(); }); tap.test('should dump a collection to a directory', async () => { const target = await testMongodump.addMongoTargetByMongoDescriptor(await testSmartMongo.getMongoDescriptor()); await target.dumpAllCollectionsToDir('.nogit', docArg => docArg.id, true); }) tap.test('should stop the smartmongo instance', async () => { await sampledata.stop(); await testMongodump.stop(); await testSmartMongo.stop(); }); tap.start();