Files
payloadcms/test/startMemoryDB.ts
Elliot DeNolf b968d8594c ci: proper mongodb memory server configuration (#5318)
* ci: mongo memory server instance

* test: use proper mongo memory opts

* chore: rollback mongodb-memory-server dep

* chore: more mongodb-memory-server
2024-03-13 14:44:12 -04:00

44 lines
996 B
TypeScript

import getPort from 'get-port'
import { MongoMemoryReplSet } from 'mongodb-memory-server'
import type { SanitizedConfig } from '../packages/payload/src/config/types.js'
import { mongooseAdapter } from '../packages/db-mongodb/src/index.js'
export const startMemoryDB = async (
configPromise: Promise<SanitizedConfig>,
): Promise<SanitizedConfig> => {
const config = await configPromise
process.env.NODE_OPTIONS = '--no-deprecation'
console.log('---- CONNECTING TO MEMORY DB ----')
switch (process.env.PAYLOAD_DATABASE) {
case 'postgres':
case 'supabase':
case 'postgres-uuid': {
return config
}
default: {
const port = await getPort()
const db = await MongoMemoryReplSet.create({
instanceOpts: [
{
port,
},
],
replSet: {
count: 3,
dbName: 'payloadmemory',
},
})
config.db = mongooseAdapter({ url: db.getUri() })
return config
}
}
}