|
@@ -3,12 +3,23 @@ import mongoose from 'mongoose';
|
|
|
|
|
|
|
|
import { mongoOptions } from '~/server/util/mongoose-utils';
|
|
import { mongoOptions } from '~/server/util/mongoose-utils';
|
|
|
|
|
|
|
|
|
|
+let mongoServer: MongoMemoryServer | undefined;
|
|
|
|
|
+
|
|
|
beforeAll(async () => {
|
|
beforeAll(async () => {
|
|
|
|
|
+ // Use external MongoDB if MONGO_URI is provided (e.g., in CI with GitHub Actions services)
|
|
|
|
|
+ if (process.env.MONGO_URI) {
|
|
|
|
|
+ // biome-ignore lint/suspicious/noConsole: Allow logging
|
|
|
|
|
+ console.log(`Using external MongoDB at ${process.env.MONGO_URI}`);
|
|
|
|
|
+ await mongoose.connect(process.env.MONGO_URI, mongoOptions);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // Use MongoMemoryServer for local development
|
|
|
// set debug flag
|
|
// set debug flag
|
|
|
process.env.MONGOMS_DEBUG = process.env.VITE_MONGOMS_DEBUG;
|
|
process.env.MONGOMS_DEBUG = process.env.VITE_MONGOMS_DEBUG;
|
|
|
|
|
|
|
|
// set version
|
|
// set version
|
|
|
- const mongoServer = await MongoMemoryServer.create({
|
|
|
|
|
|
|
+ mongoServer = await MongoMemoryServer.create({
|
|
|
instance: {
|
|
instance: {
|
|
|
dbName: 'growi_test',
|
|
dbName: 'growi_test',
|
|
|
},
|
|
},
|
|
@@ -26,4 +37,9 @@ beforeAll(async () => {
|
|
|
|
|
|
|
|
afterAll(async () => {
|
|
afterAll(async () => {
|
|
|
await mongoose.disconnect();
|
|
await mongoose.disconnect();
|
|
|
|
|
+
|
|
|
|
|
+ // Stop MongoMemoryServer if it was created
|
|
|
|
|
+ if (mongoServer) {
|
|
|
|
|
+ await mongoServer.stop();
|
|
|
|
|
+ }
|
|
|
});
|
|
});
|