test: support server-side unit testing (#2485)

This commit is contained in:
Michael Thomas
2026-03-12 09:39:41 -04:00
committed by GitHub
parent 40edaea43f
commit 8563362588
17 changed files with 2355 additions and 68 deletions

View File

@@ -38,6 +38,17 @@ function buildSslConfig(): TlsOptions | undefined {
};
}
const testConfig: DataSourceOptions = {
type: 'sqlite',
database: ':memory:',
synchronize: true,
dropSchema: true,
logging: boolFromEnv('DB_LOG_QUERIES'),
entities: ['server/entity/**/*.ts'],
migrations: ['server/migration/sqlite/**/*.ts'],
subscribers: ['server/subscriber/**/*.ts'],
};
const devConfig: DataSourceOptions = {
type: 'sqlite',
database: process.env.CONFIG_DIRECTORY
@@ -105,7 +116,9 @@ const postgresProdConfig: DataSourceOptions = {
export const isPgsql = process.env.DB_TYPE === 'postgres';
function getDataSource(): DataSourceOptions {
if (process.env.NODE_ENV === 'production') {
if (process.env.NODE_ENV === 'test') {
return testConfig;
} else if (process.env.NODE_ENV === 'production') {
return isPgsql ? postgresProdConfig : prodConfig;
} else {
return isPgsql ? postgresDevConfig : devConfig;