From b7846fa85bd456f58dcd0975ed4e087b753cc7f4 Mon Sep 17 00:00:00 2001 From: Kevin Kuszyk Date: Thu, 21 Dec 2017 11:58:35 +0000 Subject: [PATCH] [cucumber] Update hooks to take options or a string for the tags --- types/cucumber/cucumber-tests.ts | 20 ++++++++++++++++++++ types/cucumber/index.d.ts | 8 ++++---- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/types/cucumber/cucumber-tests.ts b/types/cucumber/cucumber-tests.ts index c71e827285..4447e5a7fe 100644 --- a/types/cucumber/cucumber-tests.ts +++ b/types/cucumber/cucumber-tests.ts @@ -32,6 +32,11 @@ function StepSample() { callback(); }); + Before('@tag', (scenarioResult: HookScenarioResult, callback: Callback) => { + console.log(scenarioResult.status === "failed"); + callback(); + }); + BeforeAll((callback: Callback) => { console.log("Before all"); callback(); @@ -42,6 +47,11 @@ function StepSample() { callback(); }); + BeforeAll('@tag', (callback: Callback) => { + console.log("Before all"); + callback(); + }); + Around((scenarioResult: HookScenarioResult, runScenario: (error: string | null, callback?: () => void) => void) => { if (scenarioResult.status === "failed") { runScenario(null, () => { @@ -60,6 +70,11 @@ function StepSample() { callback(); }); + After('@tag', (scenarioResult: HookScenarioResult, callback: Callback) => { + console.log("After"); + callback(); + }); + AfterAll((callback: Callback) => { console.log("After all"); callback(); @@ -70,6 +85,11 @@ function StepSample() { callback(); }); + AfterAll('@tag', (callback: Callback) => { + console.log("After all"); + callback(); + }); + registerHandler('AfterFeatures', (event: any, callback: () => void) => { callback(); }); diff --git a/types/cucumber/index.d.ts b/types/cucumber/index.d.ts index 5ac6a5d85d..56d094210d 100644 --- a/types/cucumber/index.d.ts +++ b/types/cucumber/index.d.ts @@ -66,13 +66,13 @@ export interface HookOptions { export interface Hooks { Before(code: HookCode): void; - Before(options: HookOptions, code: HookCode): void; + Before(options: HookOptions | string, code: HookCode): void; BeforeAll(code: GlobalHookCode): void; - BeforeAll(options: HookOptions, code: GlobalHookCode): void; + BeforeAll(options: HookOptions | string, code: GlobalHookCode): void; After(code: HookCode): void; - After(options: HookOptions, code: HookCode): void; + After(options: HookOptions | string, code: HookCode): void; AfterAll(code: GlobalHookCode): void; - AfterAll(options: HookOptions, code: GlobalHookCode): void; + AfterAll(options: HookOptions | string, code: GlobalHookCode): void; Around(code: AroundCode): void; setDefaultTimeout(time: number): void; // tslint:disable-next-line ban-types