Просмотр исходного кода

Fix remaining model calls and test mock event properties

Co-authored-by: yuki-takei <1638767+yuki-takei@users.noreply.github.com>
copilot-swe-agent[bot] 2 месяцев назад
Родитель
Сommit
5f47259458

+ 5 - 7
apps/app/src/server/middlewares/access-token-parser/access-token.integ.ts

@@ -19,13 +19,11 @@ describe('access-token-parser middleware for access token with scopes', () => {
 
   beforeAll(async () => {
     const crowiMock = mock<Crowi>({
-      event: vi.fn().mockImplementation((eventName) => {
-        if (eventName === 'user') {
-          return mock<UserEvent>({
-            on: vi.fn(),
-          });
-        }
-      }),
+      events: {
+        user: mock<UserEvent>({
+          on: vi.fn(),
+        }),
+      },
     });
     const userModelFactory = (await import('../../models/user')).default;
     User = userModelFactory(crowiMock);

+ 5 - 7
apps/app/src/server/middlewares/access-token-parser/api-token.integ.ts

@@ -17,13 +17,11 @@ describe('access-token-parser middleware', () => {
 
   beforeAll(async () => {
     const crowiMock = mock<Crowi>({
-      event: vi.fn().mockImplementation((eventName) => {
-        if (eventName === 'user') {
-          return mock<UserEvent>({
-            on: vi.fn(),
-          });
-        }
-      }),
+      events: {
+        user: mock<UserEvent>({
+          on: vi.fn(),
+        }),
+      },
     });
     const userModelFactory = (await import('../../models/user')).default;
     User = userModelFactory(crowiMock);

+ 3 - 3
apps/app/src/server/routes/apiv3/app-settings/file-upload-setting.integ.ts

@@ -52,9 +52,9 @@ describe('file-upload-setting route', () => {
 
     // Mock crowi instance
     crowiMock = mock<Crowi>({
-      event: vi.fn().mockReturnValue({
-        emit: vi.fn(),
-      }),
+      events: {
+        // Mock a generic event emitter
+      } as any,
       setUpFileUpload: vi.fn().mockResolvedValue(undefined),
       fileUploaderSwitchService: {
         publishUpdatedMessage: vi.fn(),

+ 5 - 7
apps/app/src/server/service/growi-info/growi-info.integ.ts

@@ -42,13 +42,11 @@ describe('GrowiInfoService', () => {
 
     const crowiMock = mock<Crowi>({
       version: appVersion,
-      event: vi.fn().mockImplementation((eventName) => {
-        if (eventName === 'user') {
-          return mock<UserEvent>({
-            on: vi.fn(),
-          });
-        }
-      }),
+      events: {
+        user: mock<UserEvent>({
+          on: vi.fn(),
+        }),
+      },
     });
 
     const userModelFactory = (await import('~/server/models/user')).default;

+ 1 - 1
apps/app/src/server/service/import/construct-convert-map.integ.ts

@@ -16,7 +16,7 @@ describe('constructConvertMap', () => {
       user: mock<EventEmitter>(),
     };
     const crowiMock = mock<Crowi>({
-      event: (name: string) => events[name],
+      events,
     });
 
     await setupModelsDependentOnCrowi(crowiMock);

+ 4 - 4
apps/app/src/server/service/page/index.ts

@@ -1807,7 +1807,7 @@ class PageService implements IPageService {
     oldPagePathPrefix,
     newPagePathPrefix,
   ) {
-    const Page = this.crowi.model('Page');
+    const Page = this.crowi.models.Page;
 
     const pageIds = pages.map((page) => page._id);
     const revisions = await Revision.find({ pageId: { $in: pageIds } });
@@ -2370,7 +2370,7 @@ class PageService implements IPageService {
 
   async deleteCompletelyOperation(pageIds, pagePaths): Promise<void> {
     // Delete Attachments, Revisions, Pages and emit delete
-    const Page = this.crowi.model('Page');
+    const Page = this.crowi.models.Page;
 
     const { attachmentService } = this.crowi;
     const attachments = await Attachment.find({ page: { $in: pageIds } });
@@ -3112,7 +3112,7 @@ class PageService implements IPageService {
     userRelatedGroups: PopulatedGrantedGroup[],
     userRelatedParentGrantedGroups: IGrantedGroup[],
   ): Promise<void> {
-    const Page = this.crowi.model('Page');
+    const Page = this.crowi.models.Page;
     const operations: any = [];
 
     pages.forEach((childPage) => {
@@ -3855,7 +3855,7 @@ class PageService implements IPageService {
   }
 
   async _isPagePathIndexUnique() {
-    const Page = this.crowi.model('Page');
+    const Page = this.crowi.models.Page;
     const now = new Date().toString();
     const path = `growi_check_is_path_index_unique_${now}`;
 

+ 5 - 7
apps/app/src/server/service/passport.spec.ts

@@ -12,13 +12,11 @@ describe('PassportService test', () => {
 
   beforeAll(async () => {
     crowiMock = mock<Crowi>({
-      event: vi.fn().mockImplementation((eventName) => {
-        if (eventName === 'user') {
-          return mock<UserEvent>({
-            on: vi.fn(),
-          });
-        }
-      }),
+      events: {
+        user: mock<UserEvent>({
+          on: vi.fn(),
+        }),
+      },
     });
   });