feat(doctor): add system diagnostics feature

This commit is contained in:
Will Miao
2026-04-11 16:02:13 +08:00
parent 25fa175aa2
commit 1817142a7b
28 changed files with 2231 additions and 6 deletions

View File

@@ -50,6 +50,12 @@ vi.mock('../../../static/js/managers/HelpManager.js', () => ({
},
}));
vi.mock('../../../static/js/managers/DoctorManager.js', () => ({
doctorManager: {
initialize: vi.fn(),
},
}));
vi.mock('../../../static/js/managers/BannerService.js', () => ({
bannerService: {
initialize: vi.fn(),
@@ -103,6 +109,7 @@ import { moveManager } from '../../../static/js/managers/MoveManager.js';
import { bulkManager } from '../../../static/js/managers/BulkManager.js';
import { ExampleImagesManager } from '../../../static/js/managers/ExampleImagesManager.js';
import { helpManager } from '../../../static/js/managers/HelpManager.js';
import { doctorManager } from '../../../static/js/managers/DoctorManager.js';
import { bannerService } from '../../../static/js/managers/BannerService.js';
import { initTheme, initBackToTop } from '../../../static/js/utils/uiHelpers.js';
import { onboardingManager } from '../../../static/js/managers/OnboardingManager.js';
@@ -187,6 +194,7 @@ describe('AppCore initialization flow', () => {
delete window.helpManager;
delete window.moveManager;
delete window.bulkManager;
delete window.doctorManager;
delete window.headerManager;
delete window.i18n;
delete window.pageContextMenu;
@@ -214,6 +222,7 @@ describe('AppCore initialization flow', () => {
expect(bannerService.initialize).toHaveBeenCalledTimes(1);
expect(window.modalManager).toBe(modalManager);
expect(window.settingsManager).toBe(settingsManager);
expect(window.doctorManager).toBe(doctorManager);
expect(window.moveManager).toBe(moveManager);
expect(window.bulkManager).toBe(bulkManager);
expect(HeaderManager).toHaveBeenCalledTimes(1);
@@ -227,6 +236,7 @@ describe('AppCore initialization flow', () => {
expect(window.exampleImagesManager).toBe(exampleImagesManagerInstance);
expect(exampleImagesManagerInitialize).toHaveBeenCalledTimes(1);
expect(helpManager.initialize).toHaveBeenCalledTimes(1);
expect(doctorManager.initialize).toHaveBeenCalledTimes(1);
expect(document.body.classList.contains('hover-reveal')).toBe(true);
expect(initializeEventManagement).toHaveBeenCalledTimes(1);
expect(onboardingManager.start).not.toHaveBeenCalled();