UNPKG

libmodulor

Version:

A TypeScript library to create platform-agnostic applications

75 lines (74 loc) 4.37 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 { type UCAuth, UCBuilder, type UCDef, type UCInput, 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 { AppTesterFlow, AppTesterFlowExecOutput } from './flow.js'; import { SimpleHTMLAppTestReportEmitter } from './impl/SimpleHTMLAppTestReportEmitter.js'; import { type UCInputFiller } from './uc-input.js'; import type { AppDocsEmitter } from './workers/AppDocsEmitter.js'; import { AppTesterCtxInitializer } from './workers/AppTesterCtxInitializer.js'; import type { AppTestSuiteTestResult } from './workers/AppTestSuiteEmitter.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, type UCExecutorExecOutput, type Input as UCExecutorInput } from './workers/UCExecutor.js'; export interface AppTesterInitArgs { appPath: FilePath; configurator: AppTesterConfigurator; serverClientSettings: ServerClientManagerSettings; srcImporter: SrcImporter; } export interface AppTesterUCTestData<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined> { auth: UCAuth | null; authName: string; inputFiller: UCInputFiller<I, OPI0, OPI1>; inputFillerName: string; } 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 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<UCDef>; execFlow(flow: AppTesterFlow): Promise<AppTesterFlowExecOutput>; execMonkeyTest<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined>(ucd: UCDef<I, OPI0, OPI1>, input: I): Promise<UCExecutorExecOutput<I, OPI0, OPI1>>; execUC<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined>(input: Omit<UCExecutorInput<I, OPI0, OPI1>, 'appManifest'>, flow?: AppTesterFlow): Promise<AppTestSuiteTestResult<I, OPI0, OPI1>>; finalize(): Promise<void>; getCtx(): AppTesterCtx; init({ appPath, configurator, serverClientSettings, srcImporter, }: AppTesterInitArgs): Promise<void>; ucTestData(ucdRef: AppTesterUCDRef): Promise<AppTesterUCTestData[]>; private bindI18n; private bindServerClientSettings; private initI18n; private initServer; }