wdio-qase-reporter 1.0.2 → 1.1.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
@@ -1,3 +1,10 @@
1
+ # qase-wdio@1.1.0
2
+
3
+ ## What's new
4
+
5
+ - Updated to the latest minor version of the common package for improved compatibility and features.
6
+ - Fixed all ESLint warnings across the project to ensure code quality and maintainability.
7
+
1
8
  # qase-wdio@1.0.2
2
9
 
3
10
  ## What's new
package/dist/hooks.js CHANGED
@@ -8,7 +8,7 @@ async function beforeRunHook() {
8
8
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9
9
  const reporter = qase_javascript_commons_1.QaseReporter.getInstance({
10
10
  ...config,
11
- frameworkPackage: 'wdio',
11
+ frameworkPackage: '@wdio/cli',
12
12
  frameworkName: 'wdio',
13
13
  reporterName: 'wdio-qase-reporter',
14
14
  });
@@ -25,7 +25,7 @@ export default class WDIOQaseReporter extends WDIOReporter {
25
25
  onRunnerStart(runner: RunnerStats): void;
26
26
  onSuiteStart(suite: SuiteStats): void;
27
27
  onSuiteEnd(suite: SuiteStats): Promise<void>;
28
- onRunnerEnd(_: RunnerStats): Promise<void>;
28
+ onRunnerEnd(): Promise<void>;
29
29
  onTestStart(test: TestStats): void;
30
30
  /**
31
31
  * @param {Error[]} testErrors
package/dist/reporter.js CHANGED
@@ -34,6 +34,7 @@ class WDIOQaseReporter extends reporter_1.default {
34
34
  isSync;
35
35
  _options;
36
36
  _isMultiremote;
37
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
38
  constructor(options) {
38
39
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
39
40
  super(options);
@@ -42,7 +43,7 @@ class WDIOQaseReporter extends reporter_1.default {
42
43
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
43
44
  this.reporter = qase_javascript_commons_1.QaseReporter.getInstance({
44
45
  ...(0, qase_javascript_commons_1.composeOptions)(options, config),
45
- frameworkPackage: 'wdio',
46
+ frameworkPackage: '@wdio/cli',
46
47
  frameworkName: 'wdio',
47
48
  reporterName: 'wdio-qase-reporter',
48
49
  });
@@ -127,7 +128,7 @@ class WDIOQaseReporter extends reporter_1.default {
127
128
  }
128
129
  this.storage.clear();
129
130
  }
130
- async onRunnerEnd(_) {
131
+ async onRunnerEnd() {
131
132
  await this.reporter.sendResults();
132
133
  this.isSync = true;
133
134
  }
@@ -146,6 +147,7 @@ class WDIOQaseReporter extends reporter_1.default {
146
147
  static transformError(testErrors) {
147
148
  const err = new qase_javascript_commons_1.CompoundError();
148
149
  for (const error of testErrors) {
150
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
149
151
  if (error.message == undefined) {
150
152
  continue;
151
153
  }
@@ -325,8 +327,6 @@ class WDIOQaseReporter extends reporter_1.default {
325
327
  curTest.fields = records;
326
328
  }
327
329
  addAttachment({ name, type, content, paths }) {
328
- console.log('addAttachment');
329
- console.log(name, type, content, paths);
330
330
  const curTest = this.storage.getCurrentTest();
331
331
  if (!curTest) {
332
332
  return;
package/dist/storage.js CHANGED
@@ -39,7 +39,7 @@ const findLast = (arr, predicate) => {
39
39
  let result;
40
40
  for (let i = arr.length - 1; i >= 0; i--) {
41
41
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
42
- // @ts-ignore
42
+ // @ts-expect-error
43
43
  if (predicate(arr[i])) {
44
44
  result = arr[i];
45
45
  break;
package/dist/utils.js CHANGED
@@ -6,6 +6,7 @@ exports.isScreenshotCommand = exports.isEmpty = void 0;
6
6
  * @param object {Object}
7
7
  * @private
8
8
  */
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
10
  const isEmpty = (object) =>
10
11
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
11
12
  !object || Object.keys(object).length === 0;
package/dist/wdio.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { StepFunction } from './step';
1
+ import { StepFunction } from 'qase-javascript-commons';
2
2
  export declare class qase {
3
3
  /**
4
4
  * Assign QaseID to test
package/dist/wdio.js CHANGED
@@ -2,17 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.qase = void 0;
4
4
  const events_1 = require("./events");
5
- const step_1 = require("./step");
5
+ const qase_javascript_commons_1 = require("qase-javascript-commons");
6
6
  /**
7
7
  * Send event to reporter
8
8
  * @param {string} event - event name
9
9
  * @param {object} msg - event payload
10
10
  * @private
11
11
  */
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
13
  const sendEvent = (event, msg = {}) => {
13
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
14
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
14
15
  process.emit(event, msg);
15
16
  };
17
+ // eslint-disable-next-line @typescript-eslint/no-extraneous-class
16
18
  class qase {
17
19
  /**
18
20
  * Assign QaseID to test
@@ -91,7 +93,7 @@ class qase {
91
93
  * @param {StepFunction} body - the step content function
92
94
  */
93
95
  static async step(name, body) {
94
- const runningStep = new step_1.QaseStep(name);
96
+ const runningStep = new qase_javascript_commons_1.QaseStep(name);
95
97
  // eslint-disable-next-line @typescript-eslint/require-await
96
98
  await runningStep.run(body, async (message) => sendEvent(events_1.events.addStep, message));
97
99
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wdio-qase-reporter",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "Qase WebDriverIO Reporter",
5
5
  "homepage": "https://github.com/qase-tms/qase-javascript",
6
6
  "sideEffects": false,
@@ -32,7 +32,7 @@
32
32
  "author": "Qase Team <support@qase.io>",
33
33
  "license": "Apache-2.0",
34
34
  "dependencies": {
35
- "qase-javascript-commons": "~2.2.14",
35
+ "qase-javascript-commons": "~2.3.0",
36
36
  "uuid": "^9.0.1",
37
37
  "@types/node": "^20.1.0",
38
38
  "@wdio/reporter": "^8.39.0",
package/dist/step.d.ts DELETED
@@ -1,16 +0,0 @@
1
- import { Attachment, TestStepType } from 'qase-javascript-commons';
2
- export type StepFunction<T = any> = (this: QaseStep, step: QaseStep) => T | Promise<T>;
3
- export declare class QaseStep {
4
- name: string;
5
- attachments: Attachment[];
6
- steps: TestStepType[];
7
- constructor(name: string);
8
- attach(attach: {
9
- name?: string;
10
- type?: string;
11
- content?: string;
12
- paths?: string[] | string;
13
- }): void;
14
- step(name: string, body: StepFunction): Promise<void>;
15
- run(body: StepFunction, messageEmitter: (step: TestStepType) => Promise<void>): Promise<void>;
16
- }
package/dist/step.js DELETED
@@ -1,88 +0,0 @@
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
- exports.QaseStep = void 0;
7
- const qase_javascript_commons_1 = require("qase-javascript-commons");
8
- const uuid_1 = require("uuid");
9
- const path_1 = __importDefault(require("path"));
10
- class QaseStep {
11
- name = '';
12
- attachments = [];
13
- steps = [];
14
- constructor(name) {
15
- this.name = name;
16
- }
17
- attach(attach) {
18
- if (attach.paths) {
19
- const files = Array.isArray(attach.paths) ? attach.paths : [attach.paths];
20
- for (const file of files) {
21
- const attachmentName = path_1.default.basename(file);
22
- const contentType = 'application/octet-stream';
23
- this.attachments.push({
24
- id: (0, uuid_1.v4)(),
25
- file_name: attachmentName,
26
- mime_type: contentType,
27
- content: '',
28
- file_path: file,
29
- size: 0,
30
- });
31
- }
32
- return;
33
- }
34
- if (attach.content) {
35
- const attachmentName = attach.name ?? 'attachment';
36
- const contentType = attach.type ?? 'application/octet-stream';
37
- this.attachments.push({
38
- id: (0, uuid_1.v4)(),
39
- file_name: attachmentName,
40
- mime_type: contentType,
41
- content: attach.content,
42
- file_path: null,
43
- size: attach.content.length,
44
- });
45
- }
46
- }
47
- async step(name, body) {
48
- const childStep = new QaseStep(name);
49
- // eslint-disable-next-line @typescript-eslint/require-await
50
- await childStep.run(body, async (step) => {
51
- this.steps.push(step);
52
- });
53
- }
54
- async run(body, messageEmitter) {
55
- const startDate = new Date().getTime();
56
- const step = new qase_javascript_commons_1.TestStepType();
57
- step.data = {
58
- action: this.name,
59
- expected_result: null,
60
- data: null,
61
- };
62
- try {
63
- await body.call(this, this);
64
- step.execution = {
65
- start_time: startDate,
66
- end_time: new Date().getTime(),
67
- status: qase_javascript_commons_1.StepStatusEnum.passed,
68
- duration: null,
69
- };
70
- step.attachments = this.attachments;
71
- step.steps = this.steps;
72
- await messageEmitter(step);
73
- }
74
- catch (e) {
75
- step.execution = {
76
- start_time: startDate,
77
- end_time: new Date().getTime(),
78
- status: qase_javascript_commons_1.StepStatusEnum.failed,
79
- duration: null,
80
- };
81
- step.attachments = this.attachments;
82
- step.steps = this.steps;
83
- await messageEmitter(step);
84
- throw e;
85
- }
86
- }
87
- }
88
- exports.QaseStep = QaseStep;