Files
payloadcms/test/dev.js
2024-04-05 14:13:14 -04:00

49 lines
1.1 KiB
JavaScript

import minimist from 'minimist'
import { MongoMemoryReplSet } from 'mongodb-memory-server'
import { nextDev } from 'next/dist/cli/next-dev.js'
import open from 'open'
import { getNextJSRootDir } from './helpers/getNextJSRootDir.js'
import { createTestHooks } from './testHooks.js'
process.env.PAYLOAD_DROP_DATABASE = 'true'
const {
_: [testSuiteArg],
...args
} = minimist(process.argv.slice(2))
if (args.turbo === true) {
process.env.TURBOPACK = '1'
}
process.env.PAYLOAD_DROP_DATABASE = 'true'
const { afterTest, beforeTest } = await createTestHooks(testSuiteArg)
await beforeTest()
const rootDir = getNextJSRootDir(testSuiteArg)
// Open the admin if the -o flag is passed
if (args.o) {
await open('http://localhost:3000/admin')
}
global._mongoMemoryServer = await MongoMemoryReplSet.create({
replSet: {
count: 3,
dbName: 'payloadmemory',
},
})
process.env.MONGODB_MEMORY_SERVER_URI = global._mongoMemoryServer.getUri()
// @ts-expect-error
await nextDev({ port: process.env.PORT || 3000, dirname: rootDir }, 'default', rootDir)
// On cmd+c, clean up
process.on('SIGINT', async () => {
await afterTest()
process.exit(0)
})