49 lines
1.1 KiB
JavaScript
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)
|
|
})
|