UNPKG

libmodulor

Version:

A TypeScript library to create platform-agnostic applications

71 lines (70 loc) 4.22 kB
import type { FilePath } from '../dt/index.js'; import type { ServerClientManagerSettings } from '../target/lib/client/ServerClientManager.js'; import type { ServerManager } from '../target/lib/server/ServerManager.js'; import { UCBuilder, type UCDef, type UCInput, type UCName, type UCOPIBase } from '../uc/index.js'; import type { SrcImporter } from '../utils/index.js'; import type { AppTesterConfigurator } from './AppTesterConfigurator.js'; import type { AppTesterCtx, AppTesterUCDRef } from './ctx.js'; import type { AppTesterExec, AppTesterExecArgs, AppTesterExecInput, AppTesterExecOutput } from './exec.js'; import type { AnyAppTesterFlow, AppTesterFlowExec } from './flow.js'; import { SimpleHTMLAppTestReportEmitter } from './impl/SimpleHTMLAppTestReportEmitter.js'; import type { AppDocsEmitter } from './workers/AppDocsEmitter.js'; import { AppTesterCtxInitializer } from './workers/AppTesterCtxInitializer.js'; import { AppFolderChecker } from './workers/checkers/AppFolderChecker.js'; import { AppI18nChecker } from './workers/checkers/AppI18nChecker.js'; import { AppIndexChecker } from './workers/checkers/AppIndexChecker.js'; import { AppManifestChecker } from './workers/checkers/AppManifestChecker.js'; import { UCDefChecker } from './workers/checkers/UCDefChecker.js'; import { UCDefSourcesChecker } from './workers/checkers/UCDefSourcesChecker.js'; import { UCExecutor } from './workers/UCExecutor.js'; export interface AppTesterInitArgs { appPath: FilePath; configurator: AppTesterConfigurator; serverClientSettings: ServerClientManagerSettings; srcImporter: SrcImporter; } export declare class AppTester { private appDocsEmitter; private appFolderChecker; private appI18nChecker; private appIndexChecker; private appManifestChecker; private appTesterCtxInitializer; private serverManager; private simpleHTMLAppTestReportEmitter; private ucBuilder; private ucDefChecker; private ucDefSourcesChecker; private ucExecutor; private configurator; private ctx; /** * We use a "safe" one to avoid any "infinite loop" while trying to import/resolve a file. * This can happen in case of circular dependencies for example. */ private safeSrcImporter; private ucds; private testResults; private testSummary; private ucDefSourcesCheckerOutput; constructor(appDocsEmitter: AppDocsEmitter, appFolderChecker: AppFolderChecker, appI18nChecker: AppI18nChecker, appIndexChecker: AppIndexChecker, appManifestChecker: AppManifestChecker, appTesterCtxInitializer: AppTesterCtxInitializer, serverManager: ServerManager, simpleHTMLAppTestReportEmitter: SimpleHTMLAppTestReportEmitter, ucBuilder: UCBuilder, ucDefChecker: UCDefChecker, ucDefSourcesChecker: UCDefSourcesChecker, ucExecutor: UCExecutor); checkAppFolder(): Promise<void>; checkAppI18n(): Promise<void>; checkAppIndex(): Promise<void>; checkAppManifest(): Promise<void>; checkUCDSources(): Promise<void>; checkUC(ucdRef: AppTesterUCDRef): Promise<void>; execArgs(ucdRef: AppTesterUCDRef): Promise<AppTesterExecArgs[]>; execFlow(flow: AnyAppTesterFlow): Promise<AppTesterFlowExec>; execMonkeyTest<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined>(ucd: UCDef<I, OPI0, OPI1>, input: NonNullable<I>): Promise<AppTesterExecOutput<I, OPI0, OPI1>>; execUC<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined>(input: Omit<AppTesterExecInput<I, OPI0, OPI1>, 'appManifest'>, flow?: AnyAppTesterFlow): Promise<AppTesterExec<I, OPI0, OPI1>>; finalize(): Promise<void>; getCtx(): AppTesterCtx; getUCD<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined>(ucName: UCName): UCDef<I, OPI0, OPI1>; init({ appPath, configurator, serverClientSettings, srcImporter, }: AppTesterInitArgs): Promise<void>; initForUCExec(): Promise<void>; private bindI18n; private bindServerClientSettings; private initI18n; private initServer; }