Przeglądaj źródła

fix initializing convertMap

Yuki Takei 1 rok temu
rodzic
commit
dafdcd0cc0

+ 4 - 3
apps/app/src/server/service/import/import.js

@@ -49,9 +49,6 @@ export class ImportService {
 
     this.adminEvent = crowi.event('admin');
 
-    /** @type {import('./construct-convert-map').ConvertMap} */
-    this.convertMap = constructConvertMap(crowi);
-
     this.currentProgressingStatus = null;
   }
 
@@ -108,6 +105,10 @@ export class ImportService {
 
   async preImport() {
     await setupIndependentModels();
+
+    // initialize convertMap
+    /** @type {import('./construct-convert-map').ConvertMap} */
+    this.convertMap = constructConvertMap();
   }
 
   /**

+ 11 - 1
apps/app/src/server/service/import/import.spec.ts

@@ -4,16 +4,20 @@ import type Crowi from '~/server/crowi';
 
 import { ImportService } from './import';
 
+
 const mocks = vi.hoisted(() => {
   return {
+    constructConvertMapMock: vi.fn(),
     setupIndependentModelsMock: vi.fn(),
-    testMock: vi.fn(),
   };
 });
 
 vi.mock('~/server/crowi/setup-models', () => ({
   setupIndependentModels: mocks.setupIndependentModelsMock,
 }));
+vi.mock('./construct-convert-map', () => ({
+  constructConvertMap: mocks.constructConvertMapMock,
+}));
 
 describe('ImportService', () => {
 
@@ -32,11 +36,17 @@ describe('ImportService', () => {
 
   describe('preImport', () => {
     test('should call setupIndependentModels', async() => {
+      // arrange
+      const convertMapMock = mock();
+      mocks.constructConvertMapMock.mockImplementation(() => convertMapMock);
+
       // act
       await importService.preImport();
 
       // assert
       expect(mocks.setupIndependentModelsMock).toHaveBeenCalledOnce();
+      expect(mocks.constructConvertMapMock).toHaveBeenCalledOnce();
+      expect(importService.convertMap).toStrictEqual(convertMapMock);
     });
   });
 });