@qavajs/playwright-runner-adapter 0.1.1 → 0.2.0

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.
package/CHANGELOG.md CHANGED
@@ -10,5 +10,8 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how
10
10
  :pencil: - chore
11
11
  :microscope: - experimental
12
12
 
13
+ ## [0.2.0]
14
+ - :rocket: updated fixture implementation
15
+
13
16
  ## [0.1.0]
14
17
  - :rocket: initial implementation
@@ -1,13 +1,7 @@
1
1
  "use strict";
2
- var _a, _b;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  const loader_1 = require("./loader");
5
- const node_path_1 = require("node:path");
6
- const config = require((0, node_path_1.join)(process.cwd(), (_a = process.env.CONFIG) !== null && _a !== void 0 ? _a : 'config.js'));
7
- const profile = (_b = process.env.PROFILE) !== null && _b !== void 0 ? _b : 'default';
8
- const resolvedConfig = config[profile];
9
- const features = (0, loader_1.loadFeatures)(resolvedConfig.paths);
10
- const supportCodeLibrary = (0, loader_1.loadStepDefinitions)(resolvedConfig.require);
4
+ const { features, supportCodeLibrary } = (0, loader_1.load)();
11
5
  function log(data) {
12
6
  console.log(data);
13
7
  }
@@ -17,11 +11,8 @@ function attach(body, details) {
17
11
  const contentType = (_b = details.mediaType) !== null && _b !== void 0 ? _b : 'text/plain';
18
12
  this.test.info().attach(fileName, { body, contentType });
19
13
  }
20
- const world = new supportCodeLibrary.World({
21
- log,
22
- attach
23
- });
24
- const test = world.test;
14
+ const fixture = new supportCodeLibrary.World({});
15
+ const test = fixture.test;
25
16
  for (const feature of features) {
26
17
  const tests = feature.tests;
27
18
  test.describe(feature.feature, async () => {
@@ -30,6 +21,10 @@ for (const feature of features) {
30
21
  await beforeAllHook.code.apply({});
31
22
  });
32
23
  }
24
+ const world = new supportCodeLibrary.World({
25
+ log,
26
+ attach
27
+ });
33
28
  test.beforeEach(world.init);
34
29
  for (const testCase of tests) {
35
30
  const tag = testCase.tags.map(tag => tag.name);
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.spec.js","sourceRoot":"","sources":["../src/adapter.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.spec.js","sourceRoot":"","sources":["../src/adapter.spec.ts"],"names":[],"mappings":"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"}
package/adapter/loader.js CHANGED
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadStepDefinitions = exports.loadFeatures = void 0;
3
+ exports.load = exports.loadStepDefinitions = exports.loadFeatures = void 0;
4
4
  const node_fs_1 = require("node:fs");
5
5
  const node_path_1 = require("node:path");
6
+ const node_crypto_1 = require("node:crypto");
6
7
  const gherkin_1 = require("@cucumber/gherkin");
7
- const messages_1 = require("@cucumber/messages");
8
8
  const cucumber_1 = require("@cucumber/cucumber");
9
9
  const glob_1 = require("glob");
10
10
  const PlaywrightWorld_1 = require("./PlaywrightWorld");
11
- const uuidFn = messages_1.IdGenerator.uuid();
11
+ const uuidFn = () => (0, node_crypto_1.randomUUID)();
12
12
  const builder = new gherkin_1.AstBuilder(uuidFn);
13
13
  const matcher = new gherkin_1.GherkinClassicTokenMatcher();
14
14
  const parser = new gherkin_1.Parser(builder, matcher);
@@ -36,4 +36,14 @@ function loadStepDefinitions(globPattern) {
36
36
  return cucumber_1.supportCodeLibraryBuilder.finalize();
37
37
  }
38
38
  exports.loadStepDefinitions = loadStepDefinitions;
39
+ function load() {
40
+ var _a, _b;
41
+ const config = require((0, node_path_1.join)(process.cwd(), (_a = process.env.CONFIG) !== null && _a !== void 0 ? _a : 'config.js'));
42
+ const profile = (_b = process.env.PROFILE) !== null && _b !== void 0 ? _b : 'default';
43
+ const resolvedConfig = config[profile];
44
+ const features = loadFeatures(resolvedConfig.paths);
45
+ const supportCodeLibrary = loadStepDefinitions(resolvedConfig.require);
46
+ return { features, supportCodeLibrary };
47
+ }
48
+ exports.load = load;
39
49
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,yCAAoC;AACpC,+CAA4F;AAC5F,iDAAiD;AACjD,iDAA+D;AAC/D,+BAAgC;AAChC,uDAAkD;AAElD,MAAM,MAAM,GAAG,sBAAW,CAAC,IAAI,EAAE,CAAA;AACjC,MAAM,OAAO,GAAG,IAAI,oBAAU,CAAC,MAAM,CAAC,CAAA;AACtC,MAAM,OAAO,GAAG,IAAI,oCAA0B,EAAE,CAAC;AACjD,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAE3C,SAAgB,YAAY,CAAC,WAAqB;IAC9C,MAAM,KAAK,GAAG,IAAA,eAAQ,EAAC,WAAW,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;;QACpB,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACtE,OAAO;YACH,OAAO,EAAE,MAAA,eAAe,CAAC,OAAO,0CAAE,IAAI;YACtC,KAAK,EAAE,IAAA,iBAAO,EAAC,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC;SAChD,CAAA;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAVD,oCAUC;AAED,SAAgB,mBAAmB,CAAC,WAAqB;IACrD,oCAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IACvD,oCAAyB,CAAC,OAAO,CAAC,mBAAmB,CAAC,iCAAe,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,IAAA,eAAQ,EAAC,WAAW,CAAC,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,oCAAyB,CAAC,QAAQ,EAAE,CAAC;AAChD,CAAC;AATD,kDASC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,yCAA0C;AAC1C,6CAAyC;AACzC,+CAA4F;AAC5F,iDAA+D;AAC/D,+BAAgC;AAChC,uDAAoD;AAEpD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAA,wBAAU,GAAE,CAAC;AAClC,MAAM,OAAO,GAAG,IAAI,oBAAU,CAAC,MAAM,CAAC,CAAA;AACtC,MAAM,OAAO,GAAG,IAAI,oCAA0B,EAAE,CAAC;AACjD,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAE3C,SAAgB,YAAY,CAAC,WAAqB;IAC9C,MAAM,KAAK,GAAG,IAAA,eAAQ,EAAC,WAAW,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;;QACpB,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACtE,OAAO;YACH,OAAO,EAAE,MAAA,eAAe,CAAC,OAAO,0CAAE,IAAI;YACtC,KAAK,EAAE,IAAA,iBAAO,EAAC,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC;SAChD,CAAA;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAVD,oCAUC;AAED,SAAgB,mBAAmB,CAAC,WAAqB;IACrD,oCAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IACvD,oCAAyB,CAAC,OAAO,CAAC,mBAAmB,CAAC,iCAAe,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,IAAA,eAAQ,EAAC,WAAW,CAAC,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,oCAAyB,CAAC,QAAQ,EAAE,CAAC;AAChD,CAAC;AATD,kDASC;AAED,SAAgB,IAAI;;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAA,gBAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,MAAM,mCAAI,WAAW,CAAC,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,OAAO,mCAAI,SAAS,CAAC;IAEjD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACvE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAA;AAC3C,CAAC;AARD,oBAQC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qavajs/playwright-runner-adapter",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "adapter for playwright test runner",
5
5
  "scripts": {
6
6
  "build": "tsc",
@@ -11,13 +11,12 @@
11
11
  "license": "MIT",
12
12
  "dependencies": {
13
13
  "@cucumber/gherkin": "^28.0.0",
14
- "@cucumber/messages": "^24.1.0",
15
- "glob": "^10.3.12"
14
+ "glob": "^10.3.15"
16
15
  },
17
16
  "devDependencies": {
18
- "@cucumber/cucumber": "^10.3.2",
19
- "@playwright/test": "^1.42.1",
20
- "@types/node": "^20.12.2",
21
- "typescript": "^5.4.3"
17
+ "@cucumber/cucumber": "^10.7.0",
18
+ "@playwright/test": "^1.44.0",
19
+ "@types/node": "^20.12.12",
20
+ "typescript": "^5.4.5"
22
21
  }
23
22
  }
@@ -1,12 +1,6 @@
1
- import {loadStepDefinitions, loadFeatures} from './loader';
2
- import { join } from 'node:path';
1
+ import { load } from './loader';
3
2
 
4
- const config = require(join(process.cwd(), process.env.CONFIG ?? 'config.js'));
5
- const profile = process.env.PROFILE ?? 'default';
6
-
7
- const resolvedConfig = config[profile];
8
- const features = loadFeatures(resolvedConfig.paths);
9
- const supportCodeLibrary = loadStepDefinitions(resolvedConfig.require);
3
+ const { features, supportCodeLibrary } = load();
10
4
 
11
5
  function log(data: any) {
12
6
  console.log(data);
@@ -16,12 +10,9 @@ function attach(this: { test: any }, body: any, details: any) {
16
10
  const contentType = details.mediaType ?? 'text/plain';
17
11
  this.test.info().attach(fileName, { body, contentType })
18
12
  }
19
- const world = new supportCodeLibrary.World({
20
- log,
21
- attach
22
- });
23
13
 
24
- const test = world.test;
14
+ const fixture = new supportCodeLibrary.World({});
15
+ const test = fixture.test;
25
16
 
26
17
  for (const feature of features) {
27
18
  const tests = feature.tests;
@@ -32,12 +23,17 @@ for (const feature of features) {
32
23
  });
33
24
  }
34
25
 
26
+ const world = new supportCodeLibrary.World({
27
+ log,
28
+ attach
29
+ });
30
+
35
31
  test.beforeEach(world.init);
36
32
 
37
33
  for (const testCase of tests) {
38
34
  const tag = testCase.tags.map(tag => tag.name);
39
35
 
40
- test(testCase.name, {tag}, async () => {
36
+ test(testCase.name, { tag }, async () => {
41
37
  for (const beforeHook of supportCodeLibrary.beforeTestCaseHookDefinitions) {
42
38
  if (beforeHook.appliesToTestCase(testCase)) {
43
39
  await test.step('Before', async () => {
package/src/loader.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import { readFileSync } from 'node:fs';
2
- import { resolve } from 'node:path';
2
+ import { join, resolve } from 'node:path';
3
+ import { randomUUID } from 'node:crypto';
3
4
  import { AstBuilder, compile, GherkinClassicTokenMatcher, Parser } from '@cucumber/gherkin';
4
- import { IdGenerator } from '@cucumber/messages';
5
5
  import { supportCodeLibraryBuilder } from '@cucumber/cucumber';
6
6
  import { globSync } from 'glob';
7
- import {PlaywrightWorld} from './PlaywrightWorld';
7
+ import { PlaywrightWorld } from './PlaywrightWorld';
8
8
 
9
- const uuidFn = IdGenerator.uuid()
9
+ const uuidFn = () => randomUUID();
10
10
  const builder = new AstBuilder(uuidFn)
11
11
  const matcher = new GherkinClassicTokenMatcher();
12
12
  const parser = new Parser(builder, matcher)
@@ -33,3 +33,13 @@ export function loadStepDefinitions(globPattern: string[]) {
33
33
  }
34
34
  return supportCodeLibraryBuilder.finalize();
35
35
  }
36
+
37
+ export function load() {
38
+ const config = require(join(process.cwd(), process.env.CONFIG ?? 'config.js'));
39
+ const profile = process.env.PROFILE ?? 'default';
40
+
41
+ const resolvedConfig = config[profile];
42
+ const features = loadFeatures(resolvedConfig.paths);
43
+ const supportCodeLibrary = loadStepDefinitions(resolvedConfig.require);
44
+ return { features, supportCodeLibrary }
45
+ }