@dev-blinq/cucumber-js 1.0.0 → 1.0.1-amdocs

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.
Files changed (58) hide show
  1. package/README.md +40 -96
  2. package/bin/cucumber.ts +2 -0
  3. package/bin/download-install.js +175 -0
  4. package/lib/api/convert_configuration.js +1 -0
  5. package/lib/api/convert_configuration.js.map +1 -1
  6. package/lib/api/gherkin.js +81 -0
  7. package/lib/api/gherkin.js.map +1 -1
  8. package/lib/api/run_cucumber.d.ts +1 -1
  9. package/lib/api/run_cucumber.js +10 -10
  10. package/lib/api/run_cucumber.js.map +1 -1
  11. package/lib/api/types.d.ts +5 -3
  12. package/lib/api/types.js.map +1 -1
  13. package/lib/cli/helpers.d.ts +8 -6
  14. package/lib/cli/helpers.js +27 -6
  15. package/lib/cli/helpers.js.map +1 -1
  16. package/lib/cli/index.js +7 -2
  17. package/lib/cli/index.js.map +1 -1
  18. package/lib/configuration/argv_parser.js +4 -2
  19. package/lib/configuration/argv_parser.js.map +1 -1
  20. package/lib/configuration/axios_client.d.ts +1 -0
  21. package/lib/configuration/axios_client.js +40 -0
  22. package/lib/configuration/axios_client.js.map +1 -0
  23. package/lib/configuration/default_configuration.js +2 -0
  24. package/lib/configuration/default_configuration.js.map +1 -1
  25. package/lib/configuration/types.d.ts +2 -0
  26. package/lib/configuration/types.js.map +1 -1
  27. package/lib/formatter/api.d.ts +2 -0
  28. package/lib/formatter/api.js +57 -0
  29. package/lib/formatter/api.js.map +1 -0
  30. package/lib/formatter/bvt_analysis_formatter.d.ts +30 -0
  31. package/lib/formatter/bvt_analysis_formatter.js +342 -0
  32. package/lib/formatter/bvt_analysis_formatter.js.map +1 -0
  33. package/lib/formatter/feature_data_format.d.ts +23 -0
  34. package/lib/formatter/feature_data_format.js +182 -0
  35. package/lib/formatter/feature_data_format.js.map +1 -0
  36. package/lib/formatter/helpers/constants.d.ts +50 -0
  37. package/lib/formatter/helpers/constants.js +60 -0
  38. package/lib/formatter/helpers/constants.js.map +1 -0
  39. package/lib/formatter/helpers/formatters.js +2 -0
  40. package/lib/formatter/helpers/formatters.js.map +1 -1
  41. package/lib/formatter/helpers/report_generator.d.ts +148 -0
  42. package/lib/formatter/helpers/report_generator.js +590 -0
  43. package/lib/formatter/helpers/report_generator.js.map +1 -0
  44. package/lib/formatter/helpers/test_case_attempt_formatter.js +1 -1
  45. package/lib/formatter/helpers/test_case_attempt_formatter.js.map +1 -1
  46. package/lib/formatter/helpers/upload_serivce.d.ts +26 -0
  47. package/lib/formatter/helpers/upload_serivce.js +237 -0
  48. package/lib/formatter/helpers/upload_serivce.js.map +1 -0
  49. package/lib/formatter/helpers/uploader.d.ts +12 -0
  50. package/lib/formatter/helpers/uploader.js +148 -0
  51. package/lib/formatter/helpers/uploader.js.map +1 -0
  52. package/lib/runtime/test_case_runner.d.ts +1 -0
  53. package/lib/runtime/test_case_runner.js +10 -1
  54. package/lib/runtime/test_case_runner.js.map +1 -1
  55. package/lib/version.d.ts +1 -1
  56. package/lib/version.js +1 -1
  57. package/lib/version.js.map +1 -1
  58. package/package.json +13 -4
@@ -0,0 +1,50 @@
1
+ export declare const LOCAL: {
2
+ SSO: string;
3
+ WORKSPACE: string;
4
+ RUNS: string;
5
+ STORAGE: string;
6
+ };
7
+ export declare const DEV: {
8
+ SSO: string;
9
+ WORKSPACE: string;
10
+ RUNS: string;
11
+ STORAGE: string;
12
+ };
13
+ export declare const PROD: {
14
+ SSO: string;
15
+ WORKSPACE: string;
16
+ RUNS: string;
17
+ STORAGE: string;
18
+ };
19
+ export declare const STAGE: {
20
+ SSO: string;
21
+ WORKSPACE: string;
22
+ RUNS: string;
23
+ STORAGE: string;
24
+ };
25
+ export declare const CUSTOM: {
26
+ SSO: string;
27
+ WORKSPACE: string;
28
+ RUNS: string;
29
+ STORAGE: string;
30
+ };
31
+ export declare const SERVICES_URI: {
32
+ SSO: string;
33
+ WORKSPACE: string;
34
+ RUNS: string;
35
+ STORAGE: string;
36
+ };
37
+ export declare enum ActionEvents {
38
+ record_scenario = "record_scenario",
39
+ download_editor = "download_editor",
40
+ launch_editor = "launch_editor",
41
+ click_start_recording = "click_start_recording",
42
+ click_run_scenario = "click_run_scenario",
43
+ publish_scenario = "publish_scenario",
44
+ click_ai_generate = "click_ai_generate",
45
+ click_run_all = "click_run_all",
46
+ click_open_vscode = "click_open_vscode",
47
+ error_open_vscode = "error_open_vscode",
48
+ cli_run_tests = "cli_run_tests",
49
+ upload_report = "upload_report"
50
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActionEvents = exports.SERVICES_URI = exports.CUSTOM = exports.STAGE = exports.PROD = exports.DEV = exports.LOCAL = void 0;
4
+ exports.LOCAL = {
5
+ SSO: 'http://localhost:5000/api/auth',
6
+ WORKSPACE: 'http://localhost:6000/api/workspace',
7
+ RUNS: 'http://localhost:5001/api/runs',
8
+ STORAGE: 'http://localhost:5050/api/storage',
9
+ };
10
+ exports.DEV = {
11
+ SSO: 'https://dev.api.blinq.io/api/auth',
12
+ WORKSPACE: 'https://dev.api.blinq.io/api/workspace',
13
+ RUNS: 'https://dev.api.blinq.io/api/runs',
14
+ STORAGE: 'https://dev.api.blinq.io/api/storage',
15
+ };
16
+ exports.PROD = {
17
+ SSO: 'https://api.blinq.io/api/auth',
18
+ WORKSPACE: 'https://api.blinq.io/api/workspace',
19
+ RUNS: 'https://api.blinq.io/api/runs',
20
+ STORAGE: 'https://api.blinq.io/api/storage',
21
+ };
22
+ exports.STAGE = {
23
+ SSO: 'https://stage.api.blinq.io/api/auth',
24
+ WORKSPACE: 'https://stage.api.blinq.io/api/workspace',
25
+ RUNS: 'https://stage.api.blinq.io/api/runs',
26
+ STORAGE: 'https://stage.api.blinq.io/api/storage',
27
+ };
28
+ exports.CUSTOM = {
29
+ SSO: `${process.env.NODE_ENV_BLINQ}/api/auth`,
30
+ WORKSPACE: `${process.env.NODE_ENV_BLINQ}/api/workspace`,
31
+ RUNS: `${process.env.NODE_ENV_BLINQ}/api/runs`,
32
+ STORAGE: `${process.env.NODE_ENV_BLINQ}/api/storage`,
33
+ };
34
+ exports.SERVICES_URI = process.env.NODE_ENV_BLINQ === 'local'
35
+ ? exports.LOCAL // eslint-disable-line
36
+ : process.env.NODE_ENV_BLINQ === 'dev'
37
+ ? exports.DEV // eslint-disable-line
38
+ : process.env.NODE_ENV_BLINQ === 'stage'
39
+ ? exports.STAGE // eslint-disable-line
40
+ : process.env.NODE_ENV_BLINQ === 'prod'
41
+ ? exports.PROD // eslint-disable-line
42
+ : !process.env.NODE_ENV_BLINQ
43
+ ? exports.PROD // eslint-disable-line
44
+ : exports.CUSTOM; // eslint-disable-line
45
+ var ActionEvents;
46
+ (function (ActionEvents) {
47
+ ActionEvents["record_scenario"] = "record_scenario";
48
+ ActionEvents["download_editor"] = "download_editor";
49
+ ActionEvents["launch_editor"] = "launch_editor";
50
+ ActionEvents["click_start_recording"] = "click_start_recording";
51
+ ActionEvents["click_run_scenario"] = "click_run_scenario";
52
+ ActionEvents["publish_scenario"] = "publish_scenario";
53
+ ActionEvents["click_ai_generate"] = "click_ai_generate";
54
+ ActionEvents["click_run_all"] = "click_run_all";
55
+ ActionEvents["click_open_vscode"] = "click_open_vscode";
56
+ ActionEvents["error_open_vscode"] = "error_open_vscode";
57
+ ActionEvents["cli_run_tests"] = "cli_run_tests";
58
+ ActionEvents["upload_report"] = "upload_report";
59
+ })(ActionEvents = exports.ActionEvents || (exports.ActionEvents = {}));
60
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/formatter/helpers/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,KAAK,GAAG;IACnB,GAAG,EAAE,gCAAgC;IACrC,SAAS,EAAE,qCAAqC;IAChD,IAAI,EAAE,gCAAgC;IACtC,OAAO,EAAE,mCAAmC;CAC7C,CAAA;AACY,QAAA,GAAG,GAAG;IACjB,GAAG,EAAE,mCAAmC;IACxC,SAAS,EAAE,wCAAwC;IACnD,IAAI,EAAE,mCAAmC;IACzC,OAAO,EAAE,sCAAsC;CAChD,CAAA;AACY,QAAA,IAAI,GAAG;IAClB,GAAG,EAAE,+BAA+B;IACpC,SAAS,EAAE,oCAAoC;IAC/C,IAAI,EAAE,+BAA+B;IACrC,OAAO,EAAE,kCAAkC;CAC5C,CAAA;AACY,QAAA,KAAK,GAAG;IACnB,GAAG,EAAE,qCAAqC;IAC1C,SAAS,EAAE,0CAA0C;IACrD,IAAI,EAAE,qCAAqC;IAC3C,OAAO,EAAE,wCAAwC;CAClD,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW;IAC7C,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,gBAAgB;IACxD,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW;IAC9C,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,cAAc;CACrD,CAAA;AAEY,QAAA,YAAY,GACvB,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,OAAO;IACpC,CAAC,CAAC,aAAK,CAAC,sBAAsB;IAC9B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,KAAK;QACtC,CAAC,CAAC,WAAG,CAAC,sBAAsB;QAC5B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,OAAO;YACxC,CAAC,CAAC,aAAK,CAAC,sBAAsB;YAC9B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM;gBACvC,CAAC,CAAC,YAAI,CAAC,sBAAsB;gBAC7B,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc;oBAC7B,CAAC,CAAC,YAAI,CAAC,sBAAsB;oBAC7B,CAAC,CAAC,cAAM,CAAA,CAAC,sBAAsB;AAEnC,IAAY,YAaX;AAbD,WAAY,YAAY;IACtB,mDAAmC,CAAA;IACnC,mDAAmC,CAAA;IACnC,+CAA+B,CAAA;IAC/B,+DAA+C,CAAA;IAC/C,yDAAyC,CAAA;IACzC,qDAAqC,CAAA;IACrC,uDAAuC,CAAA;IACvC,+CAA+B,CAAA;IAC/B,uDAAuC,CAAA;IACvC,uDAAuC,CAAA;IACvC,+CAA+B,CAAA;IAC/B,+CAA+B,CAAA;AACjC,CAAC,EAbW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAavB","sourcesContent":["export const LOCAL = {\n SSO: 'http://localhost:5000/api/auth',\n WORKSPACE: 'http://localhost:6000/api/workspace',\n RUNS: 'http://localhost:5001/api/runs',\n STORAGE: 'http://localhost:5050/api/storage',\n}\nexport const DEV = {\n SSO: 'https://dev.api.blinq.io/api/auth',\n WORKSPACE: 'https://dev.api.blinq.io/api/workspace',\n RUNS: 'https://dev.api.blinq.io/api/runs',\n STORAGE: 'https://dev.api.blinq.io/api/storage',\n}\nexport const PROD = {\n SSO: 'https://api.blinq.io/api/auth',\n WORKSPACE: 'https://api.blinq.io/api/workspace',\n RUNS: 'https://api.blinq.io/api/runs',\n STORAGE: 'https://api.blinq.io/api/storage',\n}\nexport const STAGE = {\n SSO: 'https://stage.api.blinq.io/api/auth',\n WORKSPACE: 'https://stage.api.blinq.io/api/workspace',\n RUNS: 'https://stage.api.blinq.io/api/runs',\n STORAGE: 'https://stage.api.blinq.io/api/storage',\n}\n\nexport const CUSTOM = {\n SSO: `${process.env.NODE_ENV_BLINQ}/api/auth`,\n WORKSPACE: `${process.env.NODE_ENV_BLINQ}/api/workspace`,\n RUNS: `${process.env.NODE_ENV_BLINQ}/api/runs`,\n STORAGE: `${process.env.NODE_ENV_BLINQ}/api/storage`,\n}\n\nexport const SERVICES_URI =\n process.env.NODE_ENV_BLINQ === 'local'\n ? LOCAL // eslint-disable-line\n : process.env.NODE_ENV_BLINQ === 'dev'\n ? DEV // eslint-disable-line\n : process.env.NODE_ENV_BLINQ === 'stage'\n ? STAGE // eslint-disable-line\n : process.env.NODE_ENV_BLINQ === 'prod'\n ? PROD // eslint-disable-line\n : !process.env.NODE_ENV_BLINQ\n ? PROD // eslint-disable-line\n : CUSTOM // eslint-disable-line\n\nexport enum ActionEvents {\n record_scenario = 'record_scenario',\n download_editor = 'download_editor',\n launch_editor = 'launch_editor',\n click_start_recording = 'click_start_recording',\n click_run_scenario = 'click_run_scenario',\n publish_scenario = 'publish_scenario',\n click_ai_generate = 'click_ai_generate',\n click_run_all = 'click_run_all',\n click_open_vscode = 'click_open_vscode',\n error_open_vscode = 'error_open_vscode',\n cli_run_tests = 'cli_run_tests',\n upload_report = 'upload_report',\n}\n"]}
@@ -14,6 +14,7 @@ const usage_formatter_1 = __importDefault(require("../usage_formatter"));
14
14
  const usage_json_formatter_1 = __importDefault(require("../usage_json_formatter"));
15
15
  const html_formatter_1 = __importDefault(require("../html_formatter"));
16
16
  const junit_formatter_1 = __importDefault(require("../junit_formatter"));
17
+ const bvt_analysis_formatter_1 = __importDefault(require("../bvt_analysis_formatter"));
17
18
  const Formatters = {
18
19
  getFormatters() {
19
20
  return {
@@ -28,6 +29,7 @@ const Formatters = {
28
29
  usage: usage_formatter_1.default,
29
30
  'usage-json': usage_json_formatter_1.default,
30
31
  junit: junit_formatter_1.default,
32
+ bvt: bvt_analysis_formatter_1.default,
31
33
  };
32
34
  },
33
35
  buildFormattersDocumentationString() {
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../src/formatter/helpers/formatters.ts"],"names":[],"mappings":";;;;;AACA,uEAA6C;AAC7C,6EAAmD;AACnD,uFAA4D;AAC5D,+EAAqD;AACrD,yEAA+C;AAC/C,+EAAqD;AACrD,6EAAmD;AACnD,yEAA+C;AAC/C,mFAAwD;AACxD,uEAA6C;AAC7C,yEAA+C;AAE/C,MAAM,UAAU,GAAG;IACjB,aAAa;QACX,OAAO;YACL,IAAI,EAAE,wBAAa;YACnB,OAAO,EAAE,2BAAgB;YACzB,IAAI,EAAE,wBAAa;YACnB,QAAQ,EAAE,4BAAiB;YAC3B,cAAc,EAAE,gCAAoB;YACpC,KAAK,EAAE,yBAAc;YACrB,QAAQ,EAAE,4BAAiB;YAC3B,OAAO,EAAE,2BAAgB;YACzB,KAAK,EAAE,yBAAc;YACrB,YAAY,EAAE,8BAAkB;YAChC,KAAK,EAAE,yBAAc;SACtB,CAAA;IACH,CAAC;IACD,kCAAkC;QAChC,IAAI,mCAAmC,GAAW,EAAE,CAAA;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACvC,KAAK,MAAM,aAAa,IAAI,UAAU,EAAE;YACtC,mCAAmC,IAAI,OAAO,aAAa,KAAK,UAAU,CAAC,aAAa,CAAC,CAAC,aAAa,IAAI,CAAA;SAC5G;QAED,OAAO,mCAAmC,CAAA;IAC5C,CAAC;CACF,CAAA;AAED,kBAAe,UAAU,CAAA","sourcesContent":["import Formatter from '../.'\nimport JsonFormatter from '../json_formatter'\nimport MessageFormatter from '../message_formatter'\nimport ProgressBarFormatter from '../progress_bar_formatter'\nimport ProgressFormatter from '../progress_formatter'\nimport RerunFormatter from '../rerun_formatter'\nimport SnippetsFormatter from '../snippets_formatter'\nimport SummaryFormatter from '../summary_formatter'\nimport UsageFormatter from '../usage_formatter'\nimport UsageJsonFormatter from '../usage_json_formatter'\nimport HtmlFormatter from '../html_formatter'\nimport JunitFormatter from '../junit_formatter'\n\nconst Formatters = {\n getFormatters(): Record<string, typeof Formatter> {\n return {\n json: JsonFormatter,\n message: MessageFormatter,\n html: HtmlFormatter,\n progress: ProgressFormatter,\n 'progress-bar': ProgressBarFormatter,\n rerun: RerunFormatter,\n snippets: SnippetsFormatter,\n summary: SummaryFormatter,\n usage: UsageFormatter,\n 'usage-json': UsageJsonFormatter,\n junit: JunitFormatter,\n }\n },\n buildFormattersDocumentationString(): string {\n let concatanatedFormattersDocumentation: string = ''\n const formatters = this.getFormatters()\n for (const formatterName in formatters) {\n concatanatedFormattersDocumentation += ` ${formatterName}: ${formatters[formatterName].documentation}\\n`\n }\n\n return concatanatedFormattersDocumentation\n },\n}\n\nexport default Formatters\n"]}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../src/formatter/helpers/formatters.ts"],"names":[],"mappings":";;;;;AACA,uEAA6C;AAC7C,6EAAmD;AACnD,uFAA4D;AAC5D,+EAAqD;AACrD,yEAA+C;AAC/C,+EAAqD;AACrD,6EAAmD;AACnD,yEAA+C;AAC/C,mFAAwD;AACxD,uEAA6C;AAC7C,yEAA+C;AAC/C,uFAA4D;AAC5D,MAAM,UAAU,GAAG;IACjB,aAAa;QACX,OAAO;YACL,IAAI,EAAE,wBAAa;YACnB,OAAO,EAAE,2BAAgB;YACzB,IAAI,EAAE,wBAAa;YACnB,QAAQ,EAAE,4BAAiB;YAC3B,cAAc,EAAE,gCAAoB;YACpC,KAAK,EAAE,yBAAc;YACrB,QAAQ,EAAE,4BAAiB;YAC3B,OAAO,EAAE,2BAAgB;YACzB,KAAK,EAAE,yBAAc;YACrB,YAAY,EAAE,8BAAkB;YAChC,KAAK,EAAE,yBAAc;YACrB,GAAG,EAAE,gCAAoB;SAC1B,CAAA;IACH,CAAC;IACD,kCAAkC;QAChC,IAAI,mCAAmC,GAAW,EAAE,CAAA;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACvC,KAAK,MAAM,aAAa,IAAI,UAAU,EAAE;YACtC,mCAAmC,IAAI,OAAO,aAAa,KAAK,UAAU,CAAC,aAAa,CAAC,CAAC,aAAa,IAAI,CAAA;SAC5G;QAED,OAAO,mCAAmC,CAAA;IAC5C,CAAC;CACF,CAAA;AAED,kBAAe,UAAU,CAAA","sourcesContent":["import Formatter from '../.'\nimport JsonFormatter from '../json_formatter'\nimport MessageFormatter from '../message_formatter'\nimport ProgressBarFormatter from '../progress_bar_formatter'\nimport ProgressFormatter from '../progress_formatter'\nimport RerunFormatter from '../rerun_formatter'\nimport SnippetsFormatter from '../snippets_formatter'\nimport SummaryFormatter from '../summary_formatter'\nimport UsageFormatter from '../usage_formatter'\nimport UsageJsonFormatter from '../usage_json_formatter'\nimport HtmlFormatter from '../html_formatter'\nimport JunitFormatter from '../junit_formatter'\nimport BVTAnalysisFormatter from '../bvt_analysis_formatter'\nconst Formatters = {\n getFormatters(): Record<string, typeof Formatter> {\n return {\n json: JsonFormatter,\n message: MessageFormatter,\n html: HtmlFormatter,\n progress: ProgressFormatter,\n 'progress-bar': ProgressBarFormatter,\n rerun: RerunFormatter,\n snippets: SnippetsFormatter,\n summary: SummaryFormatter,\n usage: UsageFormatter,\n 'usage-json': UsageJsonFormatter,\n junit: JunitFormatter,\n bvt: BVTAnalysisFormatter,\n }\n },\n buildFormattersDocumentationString(): string {\n let concatanatedFormattersDocumentation: string = ''\n const formatters = this.getFormatters()\n for (const formatterName in formatters) {\n concatanatedFormattersDocumentation += ` ${formatterName}: ${formatters[formatterName].documentation}\\n`\n }\n\n return concatanatedFormattersDocumentation\n },\n}\n\nexport default Formatters\n"]}
@@ -0,0 +1,148 @@
1
+ import * as messages from '@cucumber/messages';
2
+ type JsonTimestamp = number;
3
+ type JsonStepType = 'Unknown' | 'Context' | 'Action' | 'Outcome' | 'Conjunction';
4
+ export type JsonResultUnknown = {
5
+ status: 'UNKNOWN';
6
+ };
7
+ type JsonResultSkipped = {
8
+ status: 'SKIPPED';
9
+ };
10
+ type JsonResultUndefined = {
11
+ status: 'UNDEFINED';
12
+ };
13
+ type JsonResultAmbiguous = {
14
+ status: 'AMBIGUOUS';
15
+ };
16
+ export type JsonResultStarted = {
17
+ status: 'STARTED';
18
+ startTime: JsonTimestamp;
19
+ };
20
+ type JsonResultPending = {
21
+ status: 'PENDING';
22
+ startTime: JsonTimestamp;
23
+ endTime: JsonTimestamp;
24
+ };
25
+ export type JsonResultPassed = {
26
+ status: 'PASSED';
27
+ startTime: JsonTimestamp;
28
+ endTime: JsonTimestamp;
29
+ };
30
+ export type JsonResultFailed = {
31
+ status: 'FAILED';
32
+ startTime: JsonTimestamp;
33
+ endTime: JsonTimestamp;
34
+ message?: string;
35
+ };
36
+ export type JsonFixedByAi = {
37
+ status: 'FIXED_BY_AI';
38
+ startTime: JsonTimestamp;
39
+ endTime: JsonTimestamp;
40
+ };
41
+ type JsonCommandResult = JsonResultPassed | JsonResultFailed;
42
+ type JsonStepResult = JsonResultUnknown | JsonResultSkipped | JsonResultUndefined | JsonResultAmbiguous | JsonResultStarted | JsonResultPending | JsonResultPassed | JsonResultFailed | JsonFixedByAi;
43
+ export type JsonTestResult = JsonResultUnknown | JsonResultStarted | JsonResultPassed | JsonResultFailed | JsonFixedByAi;
44
+ type JsonReportResult = JsonTestResult;
45
+ type JsonCommand = {
46
+ type: string;
47
+ value?: string;
48
+ text: string;
49
+ screenshotId?: string;
50
+ result: JsonCommandResult;
51
+ netWorkLog?: any[];
52
+ };
53
+ type webLog = {
54
+ type: string;
55
+ text: string;
56
+ location: string;
57
+ time: string;
58
+ };
59
+ export type JsonStep = {
60
+ keyword: string;
61
+ type: JsonStepType;
62
+ text: string;
63
+ commands: JsonCommand[];
64
+ result: JsonStepResult;
65
+ webLog: webLog[];
66
+ networkData: any[];
67
+ data?: any;
68
+ ariaSnapshot: string;
69
+ };
70
+ export type RetrainStats = {
71
+ result: JsonTestResult;
72
+ totalSteps: number;
73
+ upload_id: string;
74
+ local_id: number;
75
+ };
76
+ export type JsonTestProgress = {
77
+ id: string;
78
+ featureName: string;
79
+ uri: string;
80
+ scenarioName: string;
81
+ parameters: Record<string, string>;
82
+ steps: JsonStep[];
83
+ result: JsonTestResult;
84
+ retrainStats?: RetrainStats;
85
+ initialAriaSnapshot?: string;
86
+ webLog: any;
87
+ networkLog: any;
88
+ env: {
89
+ name: string;
90
+ baseUrl: string;
91
+ };
92
+ };
93
+ export type JsonReport = {
94
+ testCases: JsonTestProgress[];
95
+ result: JsonReportResult;
96
+ env: {
97
+ name: string;
98
+ baseUrl: string;
99
+ };
100
+ };
101
+ interface MetaMessage extends messages.Meta {
102
+ runName: string;
103
+ }
104
+ interface EnvelopeWithMetaMessage extends messages.Envelope {
105
+ meta: MetaMessage;
106
+ }
107
+ export default class ReportGenerator {
108
+ private report;
109
+ private gherkinDocumentMap;
110
+ private stepMap;
111
+ private pickleMap;
112
+ private testCaseMap;
113
+ private testStepMap;
114
+ private stepReportMap;
115
+ private testCaseReportMap;
116
+ private scenarioIterationCountMap;
117
+ private logs;
118
+ private networkLog;
119
+ private stepLogs;
120
+ private stepNetworkLogs;
121
+ private runName;
122
+ private ariaSnapshot;
123
+ private initialAriaSnapshot;
124
+ reportFolder: null | string;
125
+ private uploadService;
126
+ handleMessage(envelope: EnvelopeWithMetaMessage | messages.Envelope, reRunId?: string): Promise<any>;
127
+ getReport(): JsonReport;
128
+ private handleParseError;
129
+ private onGherkinDocument;
130
+ private onPickle;
131
+ private getTimeStamp;
132
+ private onTestRunStarted;
133
+ private onTestCase;
134
+ private _findScenario;
135
+ private _getParameters;
136
+ private onTestCaseStarted;
137
+ private onTestStepStarted;
138
+ private onAttachment;
139
+ private getFailedTestStepResult;
140
+ private onTestStepFinished;
141
+ getLogFileContent(): any;
142
+ private getTestCaseResult;
143
+ private onTestCaseFinished;
144
+ private uploadTestCase;
145
+ private writeTestCaseReportToDisk;
146
+ private onTestRunFinished;
147
+ }
148
+ export {};