* ci: mongo memory server instance * test: use proper mongo memory opts * chore: rollback mongodb-memory-server dep * chore: more mongodb-memory-server
44 lines
996 B
TypeScript
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
|
|
}
|
|
}
|
|
}
|