flagpole
Version:
Simple and fast DOM integration, headless or headful browser, and REST API testing framework.
113 lines (112 loc) • 3.13 kB
TypeScript
export declare const getDefaultConfig: (configFilePath: string) => iConfigOpts;
export interface iEnvCollection {
[name: string]: iEnvOpts;
}
export interface iEnvOpts {
name: string;
defaultDomain?: string;
}
export interface iSuiteCollection {
[name: string]: iSuiteOpts;
}
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;
schemas?: string;
}
export interface iConfigOpts {
project: iProjectOpts;
environments: iEnvCollection;
suites: iSuiteCollection;
}
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;
schemas: string;
get isSourceAndOutput(): boolean;
get isTypeScript(): 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;
};
get defaultEnvironment(): EnvConfig | undefined;
constructor(opts: iConfigOpts, configPath: string);
getConfigFolder(): string;
getConfigPath(): string;
getRootFolder(): string;
getTestsFolder(): string;
getSourceFolder(): string;
getImagesFolder(): string;
getSchemasFolder(): string;
getCacheFolder(): string;
getSuite(suiteName: string): SuiteConfig;
addTagToSuite(suite: string | string[], tag: string): void;
addEnvironment(opts: iEnvOpts): void;
addSuite(opts: iSuiteOpts): void;
removeEnvironment(name: string): void;
removeSuite(name: string): void;
getEnvironments(): EnvConfig[];
getEnvironmentNames(): string[];
getTags(): string[];
getSuites(): SuiteConfig[];
getSuiteNames(): string[];
isValid(): boolean;
toFileObject(): iConfigOpts;
toString(): string;
onSave(callback: Function): void;
save(): Promise<void>;
writeTsConfig(): Promise<string>;
tsc(): Promise<string>;
}