From 33b2e5a365ffc9c3f9d3e62d4e5ccbd14c44dfee Mon Sep 17 00:00:00 2001 From: Adam Eisenreich Date: Fri, 14 Sep 2018 12:24:34 +0200 Subject: [PATCH 1/3] Add only to Scenario type definition --- lib/command/definitions.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/command/definitions.js b/lib/command/definitions.js index 8a4a9bbca..72c45a813 100644 --- a/lib/command/definitions.js +++ b/lib/command/definitions.js @@ -26,6 +26,8 @@ declare class ScenarioConfig { inject(inject:object): ScenarioConfig config(config:object): ScenarioConfig config(helperName:string, config:object): ScenarioConfig + only(): ScenarioConfig + x(): ScenarioConfig } interface ILocator { From 388c0bdd096d1b0787b7d19b505898bdd1ac9f33 Mon Sep 17 00:00:00 2001 From: Adam Eisenreich Date: Mon, 17 Sep 2018 15:43:37 +0200 Subject: [PATCH 2/3] Declare Helper class --- lib/command/definitions.js | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/lib/command/definitions.js b/lib/command/definitions.js index 72c45a813..3d5bbdf64 100644 --- a/lib/command/definitions.js +++ b/lib/command/definitions.js @@ -40,6 +40,46 @@ interface ILocator { ios?: string; } +declare class Helper { + /** Abstract method to provide required config options */ + static _config(): any; + /** Abstract method to validate config */ + _validateConfig(config: T): T; + /** Sets config for current test */ + _setConfig(opts: any): void; + /** Hook executed before all tests */ + _init(): void + /** Hook executed before each test. */ + _before(): void + /** Hook executed after each test */ + _after(): void + /** + * Hook provides a test details + * Executed in the very beginning of a test + */ + _test(test): void + /** Hook executed after each passed test */ + _passed(test: () => void): void + /** Hook executed after each failed test */ + _failed(test: () => void): void + /** Hook executed before each step */ + _beforeStep(step: () => void): void + /** Hook executed after each step */ + _afterStep(step: () => void): void + /** Hook executed before each suite */ + _beforeSuite(suite: () => void): void + /** Hook executed after each suite */ + _afterSuite(suite: () => void): void + /** Hook executed after all tests are executed */ + _finishTest(suite: () => void): void + /**Access another configured helper: `this.helpers['AnotherHelper']` */ + get helpers(): any + /** Print debug message to console (outputs only in debug mode) */ + debug(msg: string): void + + debugSection(section: string, msg: string): void +} + declare class Locator implements ILocator { xpath?: string; css?: string; From b721aad001ca5322def07db3e214c6c043d47e14 Mon Sep 17 00:00:00 2001 From: Adam Eisenreich Date: Tue, 18 Sep 2018 16:03:51 +0200 Subject: [PATCH 3/3] Add only to Scenario type definition --- lib/command/definitions.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/command/definitions.js b/lib/command/definitions.js index 3d5bbdf64..20f0be26c 100644 --- a/lib/command/definitions.js +++ b/lib/command/definitions.js @@ -26,8 +26,6 @@ declare class ScenarioConfig { inject(inject:object): ScenarioConfig config(config:object): ScenarioConfig config(helperName:string, config:object): ScenarioConfig - only(): ScenarioConfig - x(): ScenarioConfig } interface ILocator { @@ -106,8 +104,12 @@ declare class Locator implements ILocator { declare function actor(customSteps?: {}): CodeceptJS.{{I}}; declare function Feature(title: string, opts?: {}): FeatureConfig; -declare function Scenario(title: string, callback: ICodeceptCallback): ScenarioConfig; -declare function Scenario(title: string, opts: {}, callback: ICodeceptCallback): ScenarioConfig; +declare const Scenario: { + (title: string, callback: ICodeceptCallback): ScenarioConfig; + (title: string, opts: {}, callback: ICodeceptCallback): ScenarioConfig; + only(title: string, callback: ICodeceptCallback): ScenarioConfig; + only(title: string, opts: {}, callback: ICodeceptCallback): ScenarioConfig; +} declare function xScenario(title: string, callback: ICodeceptCallback): ScenarioConfig; declare function xScenario(title: string, opts: {}, callback: ICodeceptCallback): ScenarioConfig; declare function Data(data: any): any;