Files
payloadcms/test/startMemoryDB.ts
2024-03-19 00:59:56 -04:00

42 lines
951 B
TypeScript

import type { SanitizedConfig } from 'payload/config'
import { mongooseAdapter } from '@payloadcms/db-mongodb'
import { MongoMemoryReplSet } from 'mongodb-memory-server'
import Logger from '../packages/payload/src/utilities/logger.js'
export const startMemoryDB = async (
configPromise: Promise<SanitizedConfig>,
): Promise<SanitizedConfig> => {
const config = await configPromise
process.env.NODE_OPTIONS = '--no-deprecation'
const logger = Logger()
logger.info('---- CONNECTING TO MEMORY DB ----')
switch (process.env.PAYLOAD_DATABASE) {
case 'postgres':
case 'supabase':
case 'postgres-uuid': {
return config
}
default: {
const db = await MongoMemoryReplSet.create({
replSet: {
count: 3,
dbName: 'payloadmemory',
},
})
config.db = mongooseAdapter({
mongoMemoryServer: db,
url: db.getUri(),
})
return config
}
}
}