mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-04-12 05:42:14 -03:00
feat(doctor): add system diagnostics feature
This commit is contained in:
@@ -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();
|
||||
|
||||
56
tests/frontend/managers/DoctorManager.test.js
Normal file
56
tests/frontend/managers/DoctorManager.test.js
Normal file
@@ -0,0 +1,56 @@
|
||||
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
||||
import { mountMarkup, resetDom } from '../utils/domFixtures.js';
|
||||
|
||||
vi.mock('../../../static/js/managers/ModalManager.js', () => ({
|
||||
modalManager: {
|
||||
showModal: vi.fn(),
|
||||
},
|
||||
}));
|
||||
|
||||
vi.mock('../../../static/js/utils/uiHelpers.js', () => ({
|
||||
showToast: vi.fn(),
|
||||
}));
|
||||
|
||||
vi.mock('../../../static/js/utils/i18nHelpers.js', () => ({
|
||||
translate: vi.fn((key, _params, fallback) => fallback || key),
|
||||
}));
|
||||
|
||||
vi.mock('../../../static/js/components/shared/utils.js', () => ({
|
||||
escapeHtml: vi.fn((value) => String(value)),
|
||||
}));
|
||||
|
||||
import { DoctorManager } from '../../../static/js/managers/DoctorManager.js';
|
||||
|
||||
function renderDoctorFixture() {
|
||||
mountMarkup(`
|
||||
<button id="doctorTriggerBtn"></button>
|
||||
<span id="doctorStatusBadge" class="hidden"></span>
|
||||
<div id="doctorModal"></div>
|
||||
<div id="doctorIssuesList"></div>
|
||||
<div id="doctorSummaryText"></div>
|
||||
<div id="doctorSummaryBadge"></div>
|
||||
<div id="doctorLoadingState"></div>
|
||||
<button id="doctorRefreshBtn"></button>
|
||||
<button id="doctorExportBtn"></button>
|
||||
`);
|
||||
document.body.dataset.appVersion = '1.2.3-test';
|
||||
}
|
||||
|
||||
describe('DoctorManager', () => {
|
||||
beforeEach(() => {
|
||||
resetDom();
|
||||
vi.clearAllMocks();
|
||||
delete window.__lmDoctorConsolePatched;
|
||||
delete window.__lmDoctorConsoleEntries;
|
||||
});
|
||||
|
||||
it('does not run diagnostics during initialize', () => {
|
||||
renderDoctorFixture();
|
||||
const manager = new DoctorManager();
|
||||
const refreshSpy = vi.spyOn(manager, 'refreshDiagnostics').mockResolvedValue(undefined);
|
||||
|
||||
manager.initialize();
|
||||
|
||||
expect(refreshSpy).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user