Yuki Takei hace 6 meses
padre
commit
a23abe76c9
Se han modificado 1 ficheros con 16 adiciones y 21 borrados
  1. 16 21
      apps/app/src/stores/page-listing.integ.ts

+ 16 - 21
apps/app/src/stores/page-listing.integ.ts

@@ -1,31 +1,26 @@
-import type { HydratedDocument } from 'mongoose';
+import type { IPage, IUser } from '@growi/core/dist/interfaces';
 import mongoose from 'mongoose';
+import type { HydratedDocument, Model } from 'mongoose';
 
-import { getPageSchema } from '~/server/models/obsolete-page';
-import pageModel from '~/server/models/page';
+import type { PageModel } from '~/server/models/page';
 import { pageListingService } from '~/server/service/page-listing';
 
-// TODO: use actual user model after ~/server/models/user.js becomes importable in vitest
-// ref: https://github.com/vitest-dev/vitest/issues/846
-const userSchema = new mongoose.Schema({
-  name: { type: String },
-  username: { type: String, required: true, unique: true },
-  email: { type: String, unique: true, sparse: true },
-}, {
-  timestamps: true,
-});
-const User = mongoose.model('User', userSchema);
-
 describe('page-listing store integration tests', () => {
-  let Page: any;
-  let testUser: HydratedDocument<any>;
-  let rootPage: HydratedDocument<any>;
+  let Page: PageModel;
+  let User: Model<IUser>;
+  let testUser: HydratedDocument<IUser>;
+  let rootPage: HydratedDocument<IPage>;
 
   beforeAll(async() => {
-    // setup page model
-    getPageSchema(null);
-    pageModel(null);
-    Page = mongoose.model('Page');
+    // setup models
+    const setupPage = (await import('~/server/models/page')).default;
+    setupPage(null);
+    const setupUser = (await import('~/server/models/user')).default;
+    setupUser(null);
+
+    // get models
+    Page = mongoose.model<IPage, PageModel>('Page');
+    User = mongoose.model<IUser>('User');
   });
 
   beforeEach(async() => {