• 1000 /datasources/mongodb.datasource.ts
const mainConfig = {
name: 'main',
connector: 'mongodb',
database: process.env.MONGODB_DATABASE,
// host, port, user, password, etc.
};
const testConfig = {
name: 'test',
connector: 'mongodb',
database: process.env.MONGODB_TEST_DATABASE,
// host, port, user, password, etc.
};
// this is the important part
const config = process.env.NODE_ENV === 'test' ? testConfig : mainConfig;
// the rest is unchanged cli generated code
@lifeCycleObserver('datasource')
export class MongodbDataSource extends juggler.DataSource
implements LifeCycleObserver {
static dataSourceName = 'mongodb';
static readonly defaultConfig = config;
constructor(
@inject('datasources.config.mongodb', { optional: true })
dsConfig: object = config,
) {
super(dsConfig);
}
}
Я не фанат этого решения, потому что в идеале я бы хотел, чтобы все связанные с тестами материалы содержались в src / __ tests__ и не появлялись где-либо еще. Если есть лучший способ сделать это, дайте мне знать.