odhin-reports-playwright 1.0.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.
Files changed (81) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -0
  3. package/lib/generate.d.ts +56 -0
  4. package/lib/generate.js +969 -0
  5. package/lib/help.d.ts +46 -0
  6. package/lib/help.js +503 -0
  7. package/lib/html/assets/css/bootstrap.min.css +1 -0
  8. package/lib/html/assets/css/dark-theme.css +55 -0
  9. package/lib/html/assets/css/dark-theme.min.css +1 -0
  10. package/lib/html/assets/css/img-comparison-slider.css +50 -0
  11. package/lib/html/assets/css/img-comparison-slider.min.css +1 -0
  12. package/lib/html/assets/css/jquery.dataTables.min.css +1 -0
  13. package/lib/html/assets/css/light-theme.css +53 -0
  14. package/lib/html/assets/css/light-theme.min.css +1 -0
  15. package/lib/html/assets/css/prism.css +163 -0
  16. package/lib/html/assets/css/prism.min.css +1 -0
  17. package/lib/html/assets/css/style-colors.css +349 -0
  18. package/lib/html/assets/css/style-colors.min.css +1 -0
  19. package/lib/html/assets/css/style.css +586 -0
  20. package/lib/html/assets/css/style.min.css +1 -0
  21. package/lib/html/assets/js/bootstrap.min.js +1 -0
  22. package/lib/html/assets/js/chart.min.js +1 -0
  23. package/lib/html/assets/js/customTheme.js +40 -0
  24. package/lib/html/assets/js/customTheme.min.js +1 -0
  25. package/lib/html/assets/js/darkTheme.js +34 -0
  26. package/lib/html/assets/js/darkTheme.min.js +1 -0
  27. package/lib/html/assets/js/dataTables.js +4 -0
  28. package/lib/html/assets/js/dataTables.min.js +1 -0
  29. package/lib/html/assets/js/img-comparison-slider.min.js +2 -0
  30. package/lib/html/assets/js/jquery-3.5.1.min.js +1 -0
  31. package/lib/html/assets/js/jquery.dataTables.min.js +1 -0
  32. package/lib/html/assets/js/lightTheme.js +34 -0
  33. package/lib/html/assets/js/lightTheme.min.js +1 -0
  34. package/lib/html/assets/js/prism.min.js +1 -0
  35. package/lib/html/assets/js/script.js +61 -0
  36. package/lib/html/assets/js/script.min.js +1 -0
  37. package/lib/html/base.html +182 -0
  38. package/lib/html/chart.html +21 -0
  39. package/lib/html/chartFile.html +33 -0
  40. package/lib/html/chartInfo.html +5 -0
  41. package/lib/html/chartJs.html +133 -0
  42. package/lib/html/chartProject.html +33 -0
  43. package/lib/html/chartStatus.html +87 -0
  44. package/lib/html/content.html +30 -0
  45. package/lib/html/runInfo.html +47 -0
  46. package/lib/html/summary.html +20 -0
  47. package/lib/html/summaryRow.html +10 -0
  48. package/lib/html/testCase.html +12 -0
  49. package/lib/html/testCaseDetails.html +125 -0
  50. package/lib/index.d.ts +12 -0
  51. package/lib/index.js +48 -0
  52. package/lib/server.mjs +8 -0
  53. package/lib/types/execFileInfo.types.d.ts +13 -0
  54. package/lib/types/execFileInfo.types.js +2 -0
  55. package/lib/types/execInfo.types.d.ts +15 -0
  56. package/lib/types/execInfo.types.js +2 -0
  57. package/lib/types/execOptions.types.d.ts +17 -0
  58. package/lib/types/execOptions.types.js +2 -0
  59. package/lib/types/execProjectInfo.types.d.ts +13 -0
  60. package/lib/types/execProjectInfo.types.js +2 -0
  61. package/lib/types/execTestCase.types.d.ts +14 -0
  62. package/lib/types/execTestCase.types.js +2 -0
  63. package/lib/types/execTestResult.types.d.ts +43 -0
  64. package/lib/types/execTestResult.types.js +2 -0
  65. package/lib/types/onEnd.types.d.ts +12 -0
  66. package/lib/types/onEnd.types.js +2 -0
  67. package/lib/types/onProject.types.d.ts +53 -0
  68. package/lib/types/onProject.types.js +2 -0
  69. package/lib/types/onStdIO.types.d.ts +11 -0
  70. package/lib/types/onStdIO.types.js +2 -0
  71. package/lib/types/onStepBegin.types.d.ts +22 -0
  72. package/lib/types/onStepBegin.types.js +2 -0
  73. package/lib/types/onStepEnd.types.d.ts +25 -0
  74. package/lib/types/onStepEnd.types.js +2 -0
  75. package/lib/types/onTestBegin.types.d.ts +15 -0
  76. package/lib/types/onTestBegin.types.js +2 -0
  77. package/lib/types/onTestEnd.types.d.ts +37 -0
  78. package/lib/types/onTestEnd.types.js +2 -0
  79. package/lib/types/testReport.types.d.ts +6 -0
  80. package/lib/types/testReport.types.js +2 -0
  81. package/package.json +67 -0
@@ -0,0 +1,47 @@
1
+ <div class="mt-3 mb-3 odhin-thin-border dashboard-block">
2
+ <div class="info-box-header">Run info</div>
3
+ <div class="odhin-table">
4
+ <div class="container-fluid">
5
+ <div class="row m-0 p-0">
6
+ <div class="col m-0 p-0">
7
+ <div class="table-responsive text-start">
8
+ <table
9
+ class="table table-sm mb-0 testcase-run-info-table"
10
+ >
11
+ <tr>
12
+ <th class="odhin-text-2">Project</th>
13
+ <td class="text-secondary-emphasis fst-italic">{{.Project}}</td>
14
+ </tr>
15
+ <tr>
16
+ <th class="odhin-text-2 fst-italic">Release</th>
17
+ <td class="text-secondary-emphasis fst-italic">{{.Release}}</td>
18
+ </tr>
19
+ <tr>
20
+ <th class="odhin-text-2 fst-italic">Test Environment</th>
21
+ <td class="text-secondary-emphasis fst-italic">
22
+ {{.TestEnvironment}}
23
+ </td>
24
+ </tr>
25
+ <tr>
26
+ <th class="odhin-text-2">Execution Start Time</th>
27
+ <td class="text-secondary-emphasis fst-italic">
28
+ {{.StartTime}}
29
+ </td>
30
+ </tr>
31
+ <tr>
32
+ <th class="odhin-text-2">Execution End Time</th>
33
+ <td class="text-secondary-emphasis fst-italic">{{.EndTime}}</td>
34
+ </tr>
35
+ <tr>
36
+ <th class="odhin-text-2">Total Execution Time</th>
37
+ <td class="text-secondary-emphasis fst-italic">
38
+ {{.TotalExecutionTime}}
39
+ </td>
40
+ </tr>
41
+ </table>
42
+ </div>
43
+ </div>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </div>
@@ -0,0 +1,20 @@
1
+ <div class="mt-3 mb-3 odhin-thin-border dashboard-block">
2
+ <div class="info-box-header">{{.SummaryTitleName}}</div>
3
+ <div class="odhin-table-no-scroll">
4
+ <div class="table-responsive">
5
+ <table class="table table-sm mb-0">
6
+ <tr>
7
+ <th class="odhin-text-2">{{.SummaryColumnName}}</th>
8
+ <th class="odhin-text-2">Tests</th>
9
+ <th class="odhin-text-2">Execution Time</th>
10
+ <th class="odhin-text-2">Passed</th>
11
+ <th class="odhin-text-2">Failed</th>
12
+ <th class="odhin-text-2">Timed Out</th>
13
+ <th class="odhin-text-2">Skipped</th>
14
+ <th class="odhin-text-2">Interrupted</th>
15
+ </tr>
16
+ {{.Data}}
17
+ </table>
18
+ </div>
19
+ </div>
20
+ </div>
@@ -0,0 +1,10 @@
1
+ <tr>
2
+ <td class="fs-6 text-secondary-emphasis text-start summary-row-left-column">{{.Name}}</td>
3
+ <td class="text-secondary-emphasis">{{.TotalTests}}</td>
4
+ <td class="text-secondary-emphasis">{{.TotalExecutionTime}}</td>
5
+ <td class="result-status-passed">{{.PassedValue}} (<label class="fst-italic">{{.PassedPercentage}}%</label>)</td>
6
+ <td class="result-status-failed">{{.FailedValue}} (<label class="fst-italic">{{.FailedPercentage}}%</label>)</td>
7
+ <td class="result-status-timedOut">{{.TimedOutValue}} (<label class="fst-italic">{{.TimedOutPercentage}}%</label>)</td>
8
+ <td class="result-status-skipped">{{.SkippedValue}} (<label class="fst-italic">{{.SkippedPercentage}}%</label>)</td>
9
+ <td class="result-status-interrupted">{{.InterruptedValue}} (<label class="fst-italic">{{.InterruptedPercentage}}%</label>)</td>
10
+ </tr>
@@ -0,0 +1,12 @@
1
+ <tr class="test-row-result row-{{.TRClassesCss}} {{.TRClassesCss}}"
2
+ data-bs-toggle="modal"
3
+ data-bs-target="#{{.ModalID}}"
4
+ onclick="showHideScroll('hide')"
5
+ >
6
+ <td class="{{.TDClassesCss}}">{{.Title}}</td>
7
+ <td class="text-capitalize {{.TDClassesCss}}">{{.Status}}</td>
8
+ <td class="{{.TDClassesCss}}">{{.File}}</td>
9
+ <td class="{{.TDClassesCss}}">{{.Project}}</td>
10
+ <td class="{{.TDClassesCss}}">{{.Duration}}</td>
11
+ {{.Retry}}
12
+ </tr>
@@ -0,0 +1,125 @@
1
+ <div
2
+ class="modal fade"
3
+ id="{{.ModalID}}"
4
+ tabindex="-1"
5
+ aria-labelledby="{{.ModalID}}Label"
6
+ aria-hidden="true"
7
+ >
8
+ <div class="modal-dialog modal-fullscreen modal-dialog-scrollable">
9
+ <div class="modal-content">
10
+ <div class="modal-header result-header">
11
+
12
+ <div class="header-col-left">
13
+ <span class="modal-title fs-5" id="{{.ModalID}}Label">
14
+ <label class="text-capitalize {{.ModalHeaderClassesCss}}">{{.ModalHeaderStatus}}</label>
15
+ </span>
16
+ </div>
17
+ <div class="header-col-center">
18
+ {{.Title}}
19
+ </div>
20
+ <div class="header-col-right">
21
+ <span
22
+ type="button"
23
+ class="close-btn"
24
+ data-bs-dismiss="modal"
25
+ aria-label="Close"
26
+ onclick="showHideScroll('show')"
27
+ >X</span>
28
+ </div>
29
+
30
+ </div>
31
+ <div class="modal-header result-tab-header">
32
+ <div class="tab">
33
+ <button class="result-tablinks-{{.ModalID}} active" onclick="openResultTab(event, 'TabRunInfo-{{.ModalID}}', '{{.ModalID}}')">
34
+ Info
35
+ </button>
36
+ <button class="result-tablinks-{{.ModalID}}" onclick="openResultTab(event, 'TabSteps-{{.ModalID}}', '{{.ModalID}}')">
37
+ Steps
38
+ </button>
39
+ {{.ErrorsTabButton}}
40
+ {{.ScreenshotsTabButton}}
41
+ {{.VideosTabButton}}
42
+ {{.TraceTabButton}}
43
+ {{.StdoutTabButton}}
44
+ {{.StderrTabButton}}
45
+ </div>
46
+ </div>
47
+ <div class="modal-body odhin-bg-2">
48
+ <div id="TabRunInfo-{{.ModalID}}" style="display: block" class="result-tabcontent result-tabcontent-{{.ModalID}}">
49
+ <div class="container-fluid">
50
+ <div class="row m-0 p-0">
51
+ <div class="col m-0 p-0">
52
+ <div class="table-responsive">
53
+ <table
54
+ class="table table-sm mb-0 testcase-run-info-table"
55
+ >
56
+ <tr>
57
+ <th class="odhin-text-2">Run Info</th>
58
+ <td
59
+ class="text-secondary-emphasis fst-italic"
60
+ >
61
+
62
+ </td>
63
+ </tr>
64
+ <tr>
65
+ <th class="odhin-text-2 fst-italic">Project</th>
66
+ <td
67
+ class="text-secondary-emphasis fst-italic"
68
+ >
69
+ {{.InfoProject}}
70
+ </td>
71
+ </tr>
72
+ <tr>
73
+ <th class="odhin-text-2">
74
+ Execution Start Time
75
+ </th>
76
+ <td
77
+ class="text-secondary-emphasis fst-italic"
78
+ >
79
+ {{.InfoStartTime}}
80
+ </td>
81
+ </tr>
82
+ <tr>
83
+ <th class="odhin-text-2">
84
+ Total Execution Time
85
+ </th>
86
+ <td
87
+ class="text-secondary-emphasis fst-italic"
88
+ >
89
+ {{.InfoTotalExecutionTime}}
90
+ </td>
91
+ </tr>
92
+ {{.InfoRetry}}
93
+ <tr>
94
+ <th class="odhin-text-2 info-tr-space">Test Info</th>
95
+ <td class="text-secondary-emphasis fst-italic info-tr-space" ></td>
96
+ </tr>
97
+ <tr>
98
+ <th class="odhin-text-2">Filename</th>
99
+ <td
100
+ class="text-secondary-emphasis fst-italic"
101
+ >
102
+ {{.InfoFilename}}
103
+ </td>
104
+ </tr>
105
+ {{.InfoTags}}
106
+ {{.InfoAnnotations}}
107
+ </table>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ </div>
112
+ </div>
113
+ <div id="TabSteps-{{.ModalID}}" style="display: none" class="result-tabcontent result-tabcontent-{{.ModalID}}">
114
+ {{.Steps}}
115
+ </div>
116
+ {{.Errors}}
117
+ {{.Screenshots}}
118
+ {{.Videos}}
119
+ {{.Trace}}
120
+ {{.Stdout}}
121
+ {{.Stderr}}
122
+ </div>
123
+ </div>
124
+ </div>
125
+ </div>
package/lib/index.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { Reporter, FullConfig, Suite, TestCase, TestResult } from "@playwright/test/reporter";
2
+ import { ExecOptions } from "./types/execOptions.types";
3
+ declare class OdhinPlaywrightReporter implements Reporter {
4
+ private generate;
5
+ constructor(execOptions: ExecOptions);
6
+ onBegin(config: FullConfig, suite: Suite): Promise<void>;
7
+ onTestEnd(testCase: TestCase, result: TestResult): Promise<void>;
8
+ onEnd(): Promise<void>;
9
+ onStdOut(chunk: string): Promise<void>;
10
+ onStdErr(chunk: string): Promise<void>;
11
+ }
12
+ export default OdhinPlaywrightReporter;
package/lib/index.js ADDED
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const generate_1 = __importDefault(require("./generate"));
7
+ class OdhinPlaywrightReporter {
8
+ constructor(execOptions) {
9
+ this.generate = new generate_1.default(execOptions);
10
+ }
11
+ async onBegin(config, suite) {
12
+ await this.generate.onBegin(config, suite);
13
+ }
14
+ async onTestEnd(testCase, result) {
15
+ await this.generate.onTestEnd({
16
+ id: testCase.id,
17
+ title: testCase.title,
18
+ filename: testCase["_requireFile"],
19
+ projectId: testCase["_projectId"],
20
+ projectInfo: testCase.parent.parent !== undefined,
21
+ retries: testCase.parent["_entries"][0].retries,
22
+ tags: testCase["_tags"],
23
+ annotations: testCase.annotations,
24
+ }, {
25
+ duration: result.duration,
26
+ status: result.status.toString(),
27
+ retry: result.retry,
28
+ startTime: result.startTime,
29
+ parallelIndex: result.parallelIndex,
30
+ errors: result.errors,
31
+ stderr: result.stderr,
32
+ stdout: result.stdout,
33
+ steps: result.steps,
34
+ attachments: result.attachments,
35
+ workerIndex: result.workerIndex,
36
+ });
37
+ }
38
+ async onEnd() {
39
+ await this.generate.onEnd();
40
+ }
41
+ async onStdOut(chunk) {
42
+ await this.generate.onStdOut(chunk);
43
+ }
44
+ async onStdErr(chunk) {
45
+ await this.generate.onStdErr(chunk);
46
+ }
47
+ }
48
+ exports.default = OdhinPlaywrightReporter;
package/lib/server.mjs ADDED
@@ -0,0 +1,8 @@
1
+ import express from 'express';
2
+ import serveStatic from 'serve-static';
3
+ import openBrowser from 'open';
4
+
5
+ const app = express();
6
+ app.use(serveStatic(process.argv[3], { index: [process.argv[4]] }));
7
+ app.listen(process.argv[2]);
8
+ openBrowser('http://localhost:'+process.argv[2]);
@@ -0,0 +1,13 @@
1
+ export interface ExecFileInfo {
2
+ filename: string;
3
+ color: string;
4
+ totalPassed: number;
5
+ totalFailed: number;
6
+ totalTimedOut: number;
7
+ totalSkipped: number;
8
+ totalInterrupted: number;
9
+ totalTests: number;
10
+ totalDuration: number;
11
+ startTime: string;
12
+ endTime: string;
13
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ import { ExecProjectInfo } from "./execProjectInfo.types";
2
+ import { ExecFileInfo } from "./execFileInfo.types";
3
+ export interface ExecInfo {
4
+ projectName: string;
5
+ totalPassed: number;
6
+ totalFailed: number;
7
+ totalTimedOut: number;
8
+ totalSkipped: number;
9
+ totalInterrupted: number;
10
+ totalTests: number;
11
+ startTime: string;
12
+ endTime: string;
13
+ execFiles: ExecFileInfo[];
14
+ execProjects: ExecProjectInfo[];
15
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,17 @@
1
+ export interface ExecOptions {
2
+ testFolder: string;
3
+ title: string;
4
+ testEnvironment: string;
5
+ project: string;
6
+ release: string;
7
+ embedAssets: boolean;
8
+ embedAttachments: boolean;
9
+ outputFolder: string;
10
+ startServer: boolean;
11
+ consoleLog: boolean;
12
+ consoleError: boolean;
13
+ consoleTestOutput: boolean;
14
+ simpleConsoleLog: boolean;
15
+ initialTheme: string;
16
+ indexFilename: string;
17
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ export interface ExecProjectInfo {
2
+ project: string;
3
+ color: string;
4
+ totalPassed: number;
5
+ totalFailed: number;
6
+ totalTimedOut: number;
7
+ totalSkipped: number;
8
+ totalInterrupted: number;
9
+ totalTests: number;
10
+ totalDuration: number;
11
+ startTime: string;
12
+ endTime: string;
13
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ export interface ExecTestCase {
2
+ id: string;
3
+ title: string;
4
+ filename: string;
5
+ projectId: string;
6
+ projectInfo: boolean;
7
+ retries: number;
8
+ tags: string[];
9
+ annotations: Annotation[];
10
+ }
11
+ export interface Annotation {
12
+ type: string;
13
+ description: string;
14
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,43 @@
1
+ export interface ExecTestResult {
2
+ id?: string;
3
+ duration: number;
4
+ status: string;
5
+ retry: number;
6
+ startTime: Date;
7
+ parallelIndex: number;
8
+ errors: Array<TestError>;
9
+ stderr: Array<string | Buffer>;
10
+ stdout: Array<string | Buffer>;
11
+ steps: Array<TestStep>;
12
+ attachments: Array<TestAttachment>;
13
+ workerIndex: number;
14
+ }
15
+ export interface TestError {
16
+ location?: Location;
17
+ message?: string;
18
+ snippet?: string;
19
+ stack?: string;
20
+ value?: string;
21
+ }
22
+ export interface TestStep {
23
+ id?: string;
24
+ category: string;
25
+ duration: number;
26
+ error?: TestError;
27
+ location?: Location;
28
+ parent?: TestStep;
29
+ startTime: Date;
30
+ steps: Array<TestStep>;
31
+ title: string;
32
+ }
33
+ export interface TestAttachment {
34
+ name: string;
35
+ contentType: string;
36
+ path?: string;
37
+ body?: Buffer;
38
+ }
39
+ export interface Location {
40
+ column: number;
41
+ file: string;
42
+ line: number;
43
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,12 @@
1
+ export interface OnEnd {
2
+ method: string;
3
+ params: Params;
4
+ }
5
+ export interface Params {
6
+ result: Result;
7
+ }
8
+ export interface Result {
9
+ status: string;
10
+ startTime: number;
11
+ duration: number;
12
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,53 @@
1
+ export interface OnProject {
2
+ method: string;
3
+ params: Params;
4
+ }
5
+ export interface Params {
6
+ project: Project;
7
+ }
8
+ export interface Project {
9
+ id: string;
10
+ name: string;
11
+ outputDir: string;
12
+ repeatEach: number;
13
+ retries: number;
14
+ testDir: string;
15
+ testIgnore: any[];
16
+ testMatch: TestMatch[];
17
+ timeout: number;
18
+ suites: Suite[];
19
+ grep: Grep[];
20
+ grepInvert: any[];
21
+ dependencies: any[];
22
+ snapshotDir: string;
23
+ }
24
+ export interface Grep {
25
+ r: R;
26
+ }
27
+ export interface R {
28
+ source: string;
29
+ flags: string;
30
+ }
31
+ export interface Suite {
32
+ type: string;
33
+ title: string;
34
+ fileId: string;
35
+ parallelMode: string;
36
+ location: Location;
37
+ suites: Suite[];
38
+ tests: Test[];
39
+ }
40
+ export interface Location {
41
+ file: string;
42
+ line: number;
43
+ column: number;
44
+ }
45
+ export interface Test {
46
+ testId: string;
47
+ title: string;
48
+ location: Location;
49
+ retries: number;
50
+ }
51
+ export interface TestMatch {
52
+ s: string;
53
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ export interface OnStdIO {
2
+ method: string;
3
+ params: Params;
4
+ }
5
+ export interface Params {
6
+ testId: string;
7
+ resultId: string;
8
+ type: string;
9
+ data: string;
10
+ isBase64: boolean;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,22 @@
1
+ export interface OnStepBegin {
2
+ method: string;
3
+ params: Params;
4
+ }
5
+ export interface Params {
6
+ testId: string;
7
+ resultId: string;
8
+ step: Step;
9
+ }
10
+ export interface Step {
11
+ id: string;
12
+ title: string;
13
+ category: string;
14
+ startTime: number;
15
+ location: Location;
16
+ parentStepId: string;
17
+ }
18
+ export interface Location {
19
+ file: string;
20
+ line: number;
21
+ column: number;
22
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,25 @@
1
+ export interface OnStepEnd {
2
+ method: string;
3
+ params: Params;
4
+ }
5
+ export interface Params {
6
+ testId: string;
7
+ resultId: string;
8
+ step: Step;
9
+ }
10
+ export interface Step {
11
+ id: string;
12
+ duration: number;
13
+ error: Error;
14
+ }
15
+ export interface Error {
16
+ message: string;
17
+ stack: string;
18
+ location: Location;
19
+ snippet: string;
20
+ }
21
+ export interface Location {
22
+ file: string;
23
+ column: number;
24
+ line: number;
25
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ export interface OnTestBegin {
2
+ method: string;
3
+ params: Params;
4
+ }
5
+ export interface Params {
6
+ testId: string;
7
+ result: Result;
8
+ }
9
+ export interface Result {
10
+ id: string;
11
+ retry: number;
12
+ workerIndex: number;
13
+ parallelIndex: number;
14
+ startTime: number;
15
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,37 @@
1
+ export interface OnTestEnd {
2
+ method: string;
3
+ params: Params;
4
+ }
5
+ export interface Params {
6
+ test: Test;
7
+ result: Result;
8
+ }
9
+ export interface Result {
10
+ id: string;
11
+ duration: number;
12
+ status: string;
13
+ errors: Error[];
14
+ attachments: Attachment[];
15
+ }
16
+ export interface Attachment {
17
+ name: string;
18
+ path: string;
19
+ contentType: string;
20
+ }
21
+ export interface Error {
22
+ message: string;
23
+ stack: string;
24
+ location: Location;
25
+ snippet: string;
26
+ }
27
+ export interface Location {
28
+ file: string;
29
+ column: number;
30
+ line: number;
31
+ }
32
+ export interface Test {
33
+ testId: string;
34
+ expectedStatus: string;
35
+ annotations: any[];
36
+ timeout: number;
37
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ import { ExecTestCase } from "./execTestCase.types";
2
+ import { ExecTestResult } from "./execTestResult.types";
3
+ export interface TestReport {
4
+ testCase: ExecTestCase;
5
+ result: ExecTestResult;
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });