@qavajs/playwright-runner-adapter 2.2.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defineConfig = defineConfig;
4
4
  const loader_1 = require("./loader");
5
- // Constants
5
+ const DEBUG = process.env.DEBUG?.split(',').includes('cucumber-adapter') ?? false;
6
6
  const ANNOTATION_TYPES = {
7
- TEST_ID: '_testId',
8
7
  NAME: 'name',
9
8
  URI: 'uri',
10
9
  TAGS: 'tags'
@@ -31,34 +30,6 @@ const STEP_ARGUMENT_LABELS = {
31
30
  DOC_STRING: ' [MultiLine]',
32
31
  DATA_TABLE: ' [DataTable]'
33
32
  };
34
- /**
35
- * Extracts the test ID from TestInfo annotations
36
- */
37
- function getTestId(testInfo) {
38
- const annotation = testInfo.annotations
39
- .find((annotation) => annotation.type === ANNOTATION_TYPES.TEST_ID);
40
- if (!annotation?.description) {
41
- throw new Error('Test ID annotation not found');
42
- }
43
- return annotation.description;
44
- }
45
- /**
46
- * Converts TestInfo to HookResult format
47
- */
48
- function getResult(testInfo) {
49
- const message = testInfo.errors.length > 0
50
- ? testInfo.errors.map((err) => err.message).join('\n')
51
- : undefined;
52
- return {
53
- duration: testInfo.duration,
54
- message,
55
- status: testInfo.status?.toUpperCase() ?? 'UNKNOWN',
56
- exception: testInfo.error
57
- };
58
- }
59
- /**
60
- * Creates a location object from step definition
61
- */
62
33
  function getLine(step) {
63
34
  return {
64
35
  location: {
@@ -68,23 +39,14 @@ function getLine(step) {
68
39
  }
69
40
  };
70
41
  }
71
- /**
72
- * Logs data to console
73
- */
74
42
  function log(data) {
75
43
  console.log(data);
76
44
  }
77
- /**
78
- * Attaches content to test report
79
- */
80
45
  function attach(body, details) {
81
46
  const fileName = details?.fileName ?? DEFAULT_VALUES.ATTACHMENT_FILENAME;
82
47
  const contentType = details?.mediaType ?? DEFAULT_VALUES.CONTENT_TYPE;
83
- return this.test.info().attach(fileName, { body, contentType });
48
+ return this.test.info().attach(fileName, { body: body, contentType });
84
49
  }
85
- /**
86
- * Generates a human-readable step name with argument type indicator
87
- */
88
50
  function stepName(pickleStep) {
89
51
  let step = pickleStep.text;
90
52
  if (pickleStep.argument) {
@@ -94,9 +56,91 @@ function stepName(pickleStep) {
94
56
  }
95
57
  return step;
96
58
  }
97
- /**
98
- * Executes before all hooks
99
- */
59
+ function createTestExecutionResult() {
60
+ return {
61
+ status: 'passed',
62
+ start: Date.now()
63
+ };
64
+ }
65
+ function createHookResult(result) {
66
+ return {
67
+ duration: Date.now() - result.start,
68
+ message: result.error?.message,
69
+ status: result.status.toUpperCase(),
70
+ exception: result.error
71
+ };
72
+ }
73
+ function createScenarioAnnotation(testCase) {
74
+ const tag = [...new Set(testCase.tags.map(item => item.name))];
75
+ return [
76
+ { type: ANNOTATION_TYPES.NAME, description: testCase.name },
77
+ { type: ANNOTATION_TYPES.URI, description: testCase.uri },
78
+ { type: ANNOTATION_TYPES.TAGS, description: JSON.stringify(tag) }
79
+ ];
80
+ }
81
+ function createScenarioTags(testCase) {
82
+ return [...new Set(testCase.tags.map(item => item.name))];
83
+ }
84
+ function createCaseHookPayload(feature, testCase) {
85
+ return {
86
+ gherkinDocument: feature.gherkinDocument,
87
+ pickle: testCase
88
+ };
89
+ }
90
+ async function executeCaseHooks(test, hooks, world, testCase, defaultHookName, createPayload) {
91
+ for (const hook of hooks) {
92
+ if (!hook.appliesToTestCase(testCase)) {
93
+ continue;
94
+ }
95
+ const hookName = hook.name ?? defaultHookName;
96
+ const location = getLine(hook);
97
+ await test.step(hookName, () => hook.code.apply(world, [createPayload(hook)]), location);
98
+ }
99
+ }
100
+ async function executeStepHooks(test, hooks, world, testCase, hookName, createPayload) {
101
+ for (const hook of hooks) {
102
+ if (!hook.appliesToTestCase(testCase)) {
103
+ continue;
104
+ }
105
+ const location = getLine(hook);
106
+ await test.step(hookName, () => hook.code.apply(world, [createPayload(hook)]), location);
107
+ }
108
+ }
109
+ function createStepHookParameter(feature, testCase, pickleStep, result) {
110
+ return {
111
+ gherkinDocument: feature.gherkinDocument,
112
+ testCaseStartedId: DEFAULT_VALUES.TEST_CASE_ID,
113
+ testStepId: DEFAULT_VALUES.TEST_STEP_ID,
114
+ pickle: testCase,
115
+ pickleStep,
116
+ result: createHookResult(result)
117
+ };
118
+ }
119
+ function createCaseHookParameter(feature, testCase, result) {
120
+ return {
121
+ gherkinDocument: feature.gherkinDocument,
122
+ testCaseStartedId: DEFAULT_VALUES.TEST_CASE_ID,
123
+ pickle: testCase,
124
+ result: createHookResult(result)
125
+ };
126
+ }
127
+ function findSingleStepDefinition(supportCodeLibrary, pickleStep, featureUri) {
128
+ const matchingSteps = supportCodeLibrary.stepDefinitions
129
+ .filter(stepDefinition => stepDefinition.matchesStepName(pickleStep.text));
130
+ if (DEBUG) {
131
+ console.log(`[cucumber-adapter] Matching: "${pickleStep.text}" — ${matchingSteps.length} match(es)`);
132
+ }
133
+ if (matchingSteps.length === 0) {
134
+ throw new Error(`Step '${pickleStep.text}' is not defined\n at ${featureUri}`);
135
+ }
136
+ if (matchingSteps.length > 1) {
137
+ const locations = matchingSteps
138
+ .map(s => ` ${s.uri}:${s.line}`)
139
+ .join('\n');
140
+ throw new Error(`Step '${pickleStep.text}' matches multiple step definitions:\n${locations}`);
141
+ }
142
+ return matchingSteps[0];
143
+ }
100
144
  function executeBeforeAllHooks(test, hooks) {
101
145
  if (hooks.length === 0)
102
146
  return;
@@ -107,9 +151,6 @@ function executeBeforeAllHooks(test, hooks) {
107
151
  }
108
152
  });
109
153
  }
110
- /**
111
- * Executes after all hooks
112
- */
113
154
  function executeAfterAllHooks(test, hooks) {
114
155
  if (hooks.length === 0)
115
156
  return;
@@ -120,158 +161,68 @@ function executeAfterAllHooks(test, hooks) {
120
161
  }
121
162
  });
122
163
  }
123
- /**
124
- * Creates test annotations from test case data
125
- */
126
- function createTestAnnotations(testCase) {
127
- const tags = [...new Set(testCase.tags.map((tag) => tag.name))];
128
- return [
129
- { type: ANNOTATION_TYPES.NAME, description: testCase.name },
130
- { type: ANNOTATION_TYPES.URI, description: testCase.uri },
131
- { type: ANNOTATION_TYPES.TAGS, description: JSON.stringify(tags) },
132
- { type: ANNOTATION_TYPES.TEST_ID, description: testCase.id }
133
- ];
134
- }
135
- /**
136
- * Main configuration function that sets up Cucumber adapter for Playwright
137
- */
138
164
  function defineConfig(config) {
139
165
  const { features, supportCodeLibrary } = (0, loader_1.load)(config);
140
166
  const fixture = new supportCodeLibrary.World({ config });
141
167
  const test = fixture.test;
142
168
  executeBeforeAllHooks(test, supportCodeLibrary.beforeTestRunHookDefinitions);
143
- const worlds = new Map();
144
169
  for (const feature of features) {
145
170
  const tests = feature.tests;
146
- test.describe(feature.feature, async () => {
147
- /**
148
- * Factory function to create and register world instances
149
- */
150
- const worldFactory = (fixtures) => {
151
- const world = new supportCodeLibrary.World({
152
- log,
153
- attach,
154
- supportCodeLibrary,
155
- config
156
- });
157
- world.init(fixtures);
158
- worlds.set(getTestId(test.info()), world);
159
- };
160
- worldFactory.toString = () => fixture.init.toString();
161
- test.beforeEach(HOOK_NAMES.WORLD, worldFactory);
162
- test.beforeEach(HOOK_NAMES.BEFORE_HOOKS, async () => {
163
- const testId = getTestId(test.info());
164
- const world = worlds.get(testId);
165
- const testCase = tests.find((t) => t.id === testId);
166
- if (!testCase) {
167
- throw new Error(`Test case with ID ${testId} not found`);
168
- }
169
- for (const beforeHook of supportCodeLibrary.beforeTestCaseHookDefinitions) {
170
- if (beforeHook.appliesToTestCase(testCase)) {
171
- const hookName = beforeHook.name ?? HOOK_NAMES.BEFORE;
172
- const location = getLine(beforeHook);
173
- await test.step(hookName, () => beforeHook.code.apply(world, [{
174
- gherkinDocument: feature.gherkinDocument,
175
- pickle: testCase
176
- }]), location);
177
- }
178
- }
179
- });
171
+ test.describe(feature.feature, () => {
180
172
  for (const testCase of tests) {
181
- const tag = [...new Set(testCase.tags.map((tag) => tag.name))];
182
- const annotation = createTestAnnotations(testCase);
183
- test(testCase.name, { tag, annotation }, async () => {
184
- const world = worlds.get(testCase.id);
185
- const result = { status: 'passed' };
186
- for (const pickleStep of testCase.steps) {
187
- if (result.status !== 'passed') {
188
- break;
189
- }
190
- const matchingSteps = supportCodeLibrary.stepDefinitions
191
- .filter((stepDef) => stepDef.matchesStepName(pickleStep.text));
192
- if (matchingSteps.length === 0) {
193
- throw new Error(`Step definition not found for: "${pickleStep.text}"`);
194
- }
195
- if (matchingSteps.length > 1) {
196
- throw new Error(`Ambiguous step "${pickleStep.text}" matches ${matchingSteps.length} definitions`);
197
- }
198
- const [step] = matchingSteps;
199
- const location = getLine(step);
200
- await test.step(stepName(pickleStep), async () => {
201
- for (const beforeStep of supportCodeLibrary.beforeTestStepHookDefinitions) {
202
- if (beforeStep.appliesToTestCase(testCase)) {
203
- const location = getLine(beforeStep);
204
- await test.step(HOOK_NAMES.BEFORE_STEP, () => beforeStep.code.apply(world, [{
205
- gherkinDocument: feature.gherkinDocument,
206
- pickle: testCase,
207
- pickleStep
208
- }]), location);
209
- }
210
- }
211
- const { parameters } = await step.getInvocationParameters({
212
- step: {
213
- text: pickleStep.text,
214
- argument: pickleStep.argument
215
- },
216
- world
217
- });
218
- try {
219
- await step.code.apply(world, parameters);
220
- }
221
- catch (err) {
222
- result.status = 'failed';
223
- result.error = err;
224
- throw err;
173
+ const tag = createScenarioTags(testCase);
174
+ const annotation = createScenarioAnnotation(testCase);
175
+ const testBody = async (fixtures) => {
176
+ const world = new supportCodeLibrary.World({
177
+ log,
178
+ attach,
179
+ supportCodeLibrary,
180
+ config
181
+ });
182
+ world.init(fixtures);
183
+ const result = createTestExecutionResult();
184
+ await executeCaseHooks(test, supportCodeLibrary.beforeTestCaseHookDefinitions, world, testCase, HOOK_NAMES.BEFORE, () => createCaseHookPayload(feature, testCase));
185
+ try {
186
+ for (const pickleStep of testCase.steps) {
187
+ if (result.status !== 'passed') {
188
+ break;
225
189
  }
226
- finally {
227
- for (const afterStep of supportCodeLibrary.afterTestStepHookDefinitions) {
228
- if (afterStep.appliesToTestCase(testCase)) {
229
- const location = getLine(afterStep);
230
- await test.step(HOOK_NAMES.AFTER_STEP, () => afterStep.code.apply(world, [{
231
- gherkinDocument: feature.gherkinDocument,
232
- testCaseStartedId: DEFAULT_VALUES.TEST_CASE_ID,
233
- testStepId: DEFAULT_VALUES.TEST_STEP_ID,
234
- pickle: testCase,
235
- pickleStep,
236
- result: {
237
- duration: 0,
238
- message: result.error?.message,
239
- status: result.status.toUpperCase(),
240
- exception: result.error
241
- }
242
- }]), location);
243
- }
190
+ const step = findSingleStepDefinition(supportCodeLibrary, pickleStep, feature.uri);
191
+ const location = getLine(step);
192
+ await test.step(stepName(pickleStep), async () => {
193
+ await executeStepHooks(test, supportCodeLibrary.beforeTestStepHookDefinitions, world, testCase, HOOK_NAMES.BEFORE_STEP, () => ({
194
+ gherkinDocument: feature.gherkinDocument,
195
+ pickle: testCase,
196
+ pickleStep
197
+ }));
198
+ const { parameters } = await step.getInvocationParameters({
199
+ step: {
200
+ text: pickleStep.text,
201
+ argument: pickleStep.argument
202
+ },
203
+ world
204
+ });
205
+ try {
206
+ await step.code.apply(world, parameters);
244
207
  }
245
- }
246
- }, location);
208
+ catch (err) {
209
+ result.status = 'failed';
210
+ result.error = err;
211
+ throw err;
212
+ }
213
+ finally {
214
+ await executeStepHooks(test, supportCodeLibrary.afterTestStepHookDefinitions, world, testCase, HOOK_NAMES.AFTER_STEP, () => createStepHookParameter(feature, testCase, pickleStep, result));
215
+ }
216
+ }, location);
217
+ }
247
218
  }
248
- });
249
- }
250
- test.afterEach(HOOK_NAMES.AFTER_HOOKS, async () => {
251
- const testInfo = test.info();
252
- const testId = getTestId(testInfo);
253
- const world = worlds.get(testId);
254
- const testCase = tests.find((t) => t.id === testId);
255
- if (!testCase) {
256
- throw new Error(`Test case with ID ${testId} not found`);
257
- }
258
- for (const afterHook of supportCodeLibrary.afterTestCaseHookDefinitions) {
259
- if (afterHook.appliesToTestCase(testCase)) {
260
- const hookName = afterHook.name ?? HOOK_NAMES.AFTER;
261
- const location = getLine(afterHook);
262
- await test.step(hookName, () => afterHook.code.apply(world, [{
263
- gherkinDocument: feature.gherkinDocument,
264
- testCaseStartedId: DEFAULT_VALUES.TEST_CASE_ID,
265
- pickle: testCase,
266
- result: getResult(testInfo)
267
- }]), location);
219
+ finally {
220
+ await executeCaseHooks(test, supportCodeLibrary.afterTestCaseHookDefinitions, world, testCase, HOOK_NAMES.AFTER, () => createCaseHookParameter(feature, testCase, result));
268
221
  }
269
- }
270
- });
271
- test.afterEach(HOOK_NAMES.WORLD, async () => {
272
- const testId = getTestId(test.info());
273
- worlds.delete(testId);
274
- });
222
+ };
223
+ testBody.toString = () => fixture.init.toString();
224
+ test(testCase.name, { tag, annotation }, testBody);
225
+ }
275
226
  });
276
227
  }
277
228
  executeAfterAllHooks(test, supportCodeLibrary.afterTestRunHookDefinitions);
@@ -1 +1 @@
1
- {"version":3,"file":"cucumberAdapter.js","sourceRoot":"","sources":["../src/cucumberAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cucumberAdapter.js","sourceRoot":"","sources":["../src/cucumberAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,24 @@
1
1
  import { APIRequestContext, Browser, BrowserContext, Page } from '@playwright/test';
2
- /**
3
- * Cucumber world for playwright adapter
4
- */
2
+ import type { CucumberAdapterConfig, SupportCodeLibrary, WorldOptions } from './types';
5
3
  export declare class TestWorld {
6
- log: (data: any) => void;
7
- attach: (data: any, details?: {
4
+ log: (data: unknown) => void;
5
+ attach: (data: unknown, details?: {
8
6
  fileName?: string;
9
7
  mediaType: string;
10
8
  }) => Promise<void>;
11
- parameters: string;
12
- config: any;
13
- supportCodeLibrary: any;
9
+ parameters: unknown;
10
+ config: CucumberAdapterConfig;
11
+ supportCodeLibrary: SupportCodeLibrary;
14
12
  test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
15
13
  expect: import("@playwright/test").Expect<{}>;
16
- constructor(options: any);
17
- executeStep(this: any, text: string, extraParam?: any): Promise<void>;
14
+ constructor(options: WorldOptions);
15
+ executeStep(this: TestWorld, text: string, extraParam?: unknown): Promise<void>;
18
16
  }
19
- /**
20
- * Cucumber Playwright world for playwright adapter
21
- */
22
17
  export declare class PlaywrightWorld extends TestWorld {
23
18
  page: Page;
24
19
  context: BrowserContext;
25
20
  browser: Browser;
26
21
  browserName: string;
27
22
  request: APIRequestContext;
28
- init: ({
29
- [fixture: string]: any;
30
- });
23
+ init: (fixtures: Record<string, unknown>) => void;
31
24
  }
@@ -2,9 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlaywrightWorld = exports.TestWorld = void 0;
4
4
  const test_1 = require("@playwright/test");
5
- /**
6
- * Cucumber world for playwright adapter
7
- */
8
5
  class TestWorld {
9
6
  log;
10
7
  attach;
@@ -14,18 +11,22 @@ class TestWorld {
14
11
  test = test_1.test;
15
12
  expect = test_1.expect;
16
13
  constructor(options) {
17
- this.log = options.log;
14
+ this.log = options.log ?? console.log;
18
15
  this.attach = options.attach;
19
16
  this.parameters = options.parameters;
20
17
  this.supportCodeLibrary = options.supportCodeLibrary;
18
+ this.config = options.config;
21
19
  }
22
20
  async executeStep(text, extraParam) {
23
- const steps = this.supportCodeLibrary.stepDefinitions.filter((s) => s.matchesStepName(text));
21
+ const steps = this.supportCodeLibrary.stepDefinitions
22
+ .filter(s => s.matchesStepName(text));
24
23
  if (steps.length === 0)
25
24
  throw new Error(`Step "${text}" is not defined`);
26
- if (steps.length > 1)
27
- throw new Error(`Step "${text}" matches multiple step definitions`);
28
- const step = steps.pop();
25
+ if (steps.length > 1) {
26
+ const locations = steps.map(s => ` ${s.uri}:${s.line}`).join('\n');
27
+ throw new Error(`Step "${text}" matches multiple step definitions:\n${locations}`);
28
+ }
29
+ const step = steps[0];
29
30
  const { parameters } = await step.getInvocationParameters({ step: { text }, world: this });
30
31
  try {
31
32
  await step.code.apply(this, [...parameters, extraParam]);
@@ -36,20 +37,18 @@ class TestWorld {
36
37
  }
37
38
  }
38
39
  exports.TestWorld = TestWorld;
39
- /**
40
- * Cucumber Playwright world for playwright adapter
41
- */
42
40
  class PlaywrightWorld extends TestWorld {
43
41
  page;
44
42
  context;
45
43
  browser;
46
44
  browserName;
47
45
  request;
48
- init = ({ browser, context, page, request }) => {
46
+ // Cast preserves the destructured param form that Playwright reads via toString() to discover fixtures
47
+ init = (({ browser, context, page, request }) => {
49
48
  this.browser = browser;
50
49
  this.context = context;
51
50
  this.page = page;
52
51
  this.request = request;
53
- };
52
+ });
54
53
  }
55
54
  exports.PlaywrightWorld = PlaywrightWorld;
@@ -1,4 +1,2 @@
1
- /**
2
- * Main configuration function that sets up Cucumber adapter for Playwright
3
- */
4
- export declare function defineConfig(config: any): any;
1
+ import type { CucumberAdapterConfig } from './types';
2
+ export declare function defineConfig(config: CucumberAdapterConfig): void;