flagpole
Version:
Simple and fast DOM integration, headless or headful browser, and REST API testing framework.
108 lines (107 loc) • 2.79 kB
TypeScript
export interface iEnvOpts {
name: string;
defaultDomain?: string;
}
export interface iSuiteOpts {
id?: string;
name: string;
description?: string;
tags?: string[];
}
export interface iProjectOpts {
id?: string;
name: string;
path: string;
source?: string;
output?: string;
images?: string;
cache?: string;
}
export interface iConfigOpts {
configPath?: string;
project: iProjectOpts;
environments: iEnvOpts[];
suites?: iSuiteOpts[];
}
export interface iConfigFile {
project: iProjectOpts;
environments: {
[key: string]: iEnvOpts;
};
suites: {
[key: string]: iSuiteOpts;
};
}
export interface iScenarioOpts {
description: string;
path: string;
type: string;
}
export declare class EnvConfig {
protected config: FlagpoleConfig;
name: string;
defaultDomain: string;
constructor(config: FlagpoleConfig, opts: iEnvOpts);
toJson(): iEnvOpts;
}
export declare class SuiteConfig {
protected config: FlagpoleConfig;
id: string;
name: string;
tags: string[];
constructor(config: FlagpoleConfig, opts: iSuiteOpts);
getSourcePath(): string;
getTestPath(): string;
clearTags(): void;
addTag(tag: string): void;
toJson(): iSuiteOpts;
}
export declare class ProjectConfig {
protected config: FlagpoleConfig;
id: string;
name: string;
path: string;
source: string | undefined;
output: string | undefined;
images: string;
cache: string;
get isSourceAndOutput(): boolean;
get hasId(): boolean;
constructor(config: FlagpoleConfig, opts: iProjectOpts);
setTypeScriptFolders(rootFolder: string, srcFolder: string, outFolder: string): ProjectConfig;
toJson(): iProjectOpts;
}
export declare class FlagpoleConfig {
protected configPath: string;
protected _onSave: Function[];
project: ProjectConfig;
suites: {
[key: string]: SuiteConfig;
};
environments: {
[key: string]: EnvConfig;
};
constructor(opts: iConfigOpts);
getConfigFolder(): string;
getConfigPath(): string;
getRootFolder(): string;
getTestsFolder(): string;
getSourceFolder(): string;
getImagesFolder(): string;
getCacheFolder(): string;
addEnvironment(opts: iEnvOpts): void;
addSuite(opts: iSuiteOpts): void;
removeEnvironment(name: string): void;
removeSuite(name: string): void;
getEnvironments(): EnvConfig[];
getEnvironmentNames(): string[];
getSuites(): SuiteConfig[];
getSuiteNames(): string[];
isValid(): boolean;
toFileObject(): iConfigFile;
toString(): string;
onSave(callback: Function): void;
save(): Promise<void>;
writeTsConfig(): Promise<string>;
tsc(): Promise<string>;
}