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

Define types to get rid of as any

arvid-e 1 месяц назад
Родитель
Сommit
0e0625059d
1 измененных файлов с 22 добавлено и 7 удалено
  1. 22 7
      apps/app/src/server/service/search-query.spec.ts

+ 22 - 7
apps/app/src/server/service/search-query.spec.ts

@@ -1,9 +1,14 @@
 import { vi } from 'vitest';
+import { type MockProxy, mock } from 'vitest-mock-extended';
 
+import { SearchDelegatorName } from '~/interfaces/named-query';
+import type Crowi from '~/server/crowi';
 import { configManager } from '~/server/service/config-manager/config-manager';
 
+import type { SearchDelegator } from '../interfaces/search';
 import NamedQuery from '../models/named-query';
 import SearchService from './search';
+import type ElasticsearchDelegator from './search-delegator/elasticsearch';
 
 // Mock NamedQuery
 vi.mock('~/server/models/named-query', () => {
@@ -29,25 +34,35 @@ vi.mock('~/server/service/config-manager/config-manager', () => {
 });
 
 class TestSearchService extends SearchService {
-  override generateFullTextSearchDelegator() {
-    return { init: vi.fn() } as any;
+  override generateFullTextSearchDelegator(): ElasticsearchDelegator {
+    return mock<ElasticsearchDelegator>();
   }
-  override generateNQDelegators() {
-    return {} as any;
+
+  override generateNQDelegators(): {
+    [key in SearchDelegatorName]: SearchDelegator;
+  } {
+    return {
+      [SearchDelegatorName.DEFAULT]: mock<SearchDelegator>(),
+      [SearchDelegatorName.PRIVATE_LEGACY_PAGES]: mock<SearchDelegator>(),
+    };
   }
-  override registerUpdateEvent() {}
-  override get isConfigured() {
+
+  override registerUpdateEvent(): void {}
+
+  override get isConfigured(): boolean {
     return false;
   }
 }
 
 describe('searchParseQuery()', () => {
   let searchService: TestSearchService;
+  let mockCrowi: MockProxy<Crowi>;
 
   beforeEach(() => {
     vi.clearAllMocks();
 
-    const mockCrowi = { configManager } as any;
+    mockCrowi = mock<Crowi>();
+    mockCrowi.configManager = configManager;
     searchService = new TestSearchService(mockCrowi);
   });