cli/cmd/lthn-desktop/frontend.old/src/test.ts
Snider 9ef000853e feat: add lthn-desktop as default GUI and restructure build targets
- Set lthn-desktop as the default gui build target (port 9247)
- Add core-demo GUI with Vite frontend (port 9245)
- Configure core-gui on port 9246 to avoid conflicts
- Update .gitignore for lthn-desktop and core-demo artifacts
- Include lthn-desktop Angular frontend with Monaco editor and Claude panel
- Add frontend.old directory preserving original lthn-desktop pages

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 14:40:33 +00:00

38 lines
1.9 KiB
TypeScript

import 'zone.js/testing';
import { TestBed } from '@angular/core/testing';
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { TranslateService, TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { Observable, of } from 'rxjs';
// Provide TranslateService mock globally for tests to avoid NG0201 in standalone components
(() => {
class FakeTranslateLoader implements TranslateLoader {
getTranslation(lang: string): Observable<any> { return of({}); }
}
const translateServiceMock: Partial<TranslateService> = {
use: (() => ({ toPromise: async () => undefined })) as any,
instant: ((key: string) => key) as any,
get: (((key: any) => ({ subscribe: (fn: any) => fn(key) })) as any),
onLangChange: { subscribe: () => ({ unsubscribe() {} }) } as any,
} as Partial<TranslateService>;
// Patch TestBed.configureTestingModule to always include Translate support
const originalConfigure = TestBed.configureTestingModule.bind(TestBed);
(TestBed as any).configureTestingModule = (meta: any = {}) => {
// Ensure providers include TranslateService mock if not already provided
const providers = meta.providers ?? [];
const hasTranslateProvider = providers.some((p: any) => p && (p.provide === TranslateService));
meta.providers = hasTranslateProvider ? providers : [...providers, { provide: TranslateService, useValue: translateServiceMock }];
// Ensure imports include TranslateModule.forRoot with a fake loader (brings internal _TranslateService)
const imports = meta.imports ?? [];
const hasTranslateModule = imports.some((imp: any) => imp && (imp === TranslateModule || (imp.ngModule && imp.ngModule === TranslateModule)));
if (!hasTranslateModule) {
imports.push(TranslateModule.forRoot({ loader: { provide: TranslateLoader, useClass: FakeTranslateLoader } }));
}
meta.imports = imports;
return originalConfigure(meta);
};
})();