cucumberjs-qase-reporter 0.2.8-alpha.0 → 0.2.8-alpha.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.
package/README.md CHANGED
@@ -10,7 +10,11 @@ npm install cucumberjs-qase-reporter
10
10
 
11
11
  ## Example of usage
12
12
 
13
- Decorate your scenarios with Qase TMS case IDs in format `Q-<case id>` or `Q123`, also `q` can be in any case:
13
+ The Cucumber JS reporter has the ability to auto-generate test cases
14
+ and suites from your test data.
15
+
16
+ But if necessary, you can independently register the ID of already
17
+ existing test cases from TMS before the executing tests. You can decorate your scenarios with Qase TMS case IDs in format `Q-<case id>` or `Q123`, also `q` can be in any case:
14
18
 
15
19
  ```gherkin
16
20
  Feature: Cucumber documentation
@@ -33,17 +37,45 @@ Feature: Cucumber documentation
33
37
  And I should see a "Dependencies" badge
34
38
  ```
35
39
 
36
- To run tests and create a test run, execute the command (for example from folder examples):
40
+ You should also have an active item in the project settings at
37
41
 
38
42
  ```
39
- cucumber-js -f cucumberjs-qase-reporter --format-options='{\"qaseConfig\": \"./.qaserc\"}' features -r examples/zombie/support -r examples/zombie/steps
43
+ https://app.qase.io/project/QASE_PROJECT_CODE/settings/options
44
+ ```
40
45
 
46
+ options in the `Test Runs` block:
47
+
48
+ ```
49
+ Auto create test cases
41
50
  ```
42
- ![Output of run](./examples/screenshots/screenshot.png)​
51
+ and
52
+
53
+ ```
54
+ Allow submitting results in bulk
55
+ ```
56
+ ---
57
+ To run tests and create a test run, execute the command (for example from folder examples):
58
+ ```bash
59
+ cucumber-js -f cucumberjs-qase-reporter --format-options='{\"qaseConfig\": \"./.qaserc\"}' features -r examples/zombie/support -r examples/zombie/steps
60
+ ```
61
+ or
62
+ ```bash
63
+ npm test
64
+ ```
65
+ <p align="center">
66
+ <img width="65%" src="./examples/screenshots/screenshot.png">
67
+ </p>
68
+
43
69
  A test run will be performed and available at:
70
+
44
71
  ```
45
- https://app.qase.io/run/<projectCode>
72
+ https://app.qase.io/run/QASE_PROJECT_CODE
46
73
  ```
74
+
75
+ <p align="center">
76
+ <img src="./examples/screenshots/demo.gif">
77
+ </p>
78
+
47
79
  ## Configuration
48
80
 
49
81
  Qase reporter supports passing parameters using two ways:
@@ -64,6 +96,7 @@ using `.qaserc` file and using ENV variables.
64
96
  - `%DATE%`
65
97
  - `runDescription` - Set custom Run description, when new run is created
66
98
  - `logging` - Enabled debug logging from reporter or not
99
+ - `rootSuiteTitle` - A parent suite for your autocreated tests
67
100
 
68
101
  Example configuration file:
69
102
  ```json
@@ -89,6 +122,7 @@ Supported ENV variables:
89
122
  - `QASE_RUN_DESCRIPTION` - Same as `runDescription`
90
123
  - `QASE_ENVIRONMENT_ID` - Same as `environmentId`
91
124
  - `QASE_LOGGING` - Same as `logging`
125
+ - `QASE_ROOT_SUITE_TITLE` - Same as `rootSuiteTitle`
92
126
 
93
127
  To run using ENV you have to execute:
94
128
  ```bash
package/dist/index.d.ts CHANGED
@@ -1,18 +1,23 @@
1
1
  import { Formatter } from '@cucumber/cucumber';
2
2
  import { IFormatterOptions } from '@cucumber/cucumber/lib/formatter';
3
3
  declare class QaseReporter extends Formatter {
4
- private config;
4
+ private readonly config;
5
5
  private api;
6
6
  private enabled;
7
7
  private pickleInfo;
8
8
  private testCaseStarts;
9
9
  private testCaseStartedResult;
10
+ private testCaseStartedAttachment;
10
11
  private testCaseStartedErrors;
11
12
  private testCaseScenarioId;
12
13
  private pending;
13
14
  private results;
14
- private shouldPublish;
15
+ private scenarios;
16
+ private uploadsInQueueCount;
15
17
  constructor(options: IFormatterOptions);
18
+ private waitUploads;
19
+ private upload;
20
+ private publishResults;
16
21
  private addErrorMessage;
17
22
  private _log;
18
23
  private checkProject;
@@ -21,7 +26,9 @@ declare class QaseReporter extends Formatter {
21
26
  private checkRun;
22
27
  private saveRunId;
23
28
  private logTestItem;
24
- private publishCaseResult;
29
+ private addForSending;
30
+ private addKnownCasesForSending;
31
+ private addNewCasesForSending;
25
32
  private extractIds;
26
33
  private createHeaders;
27
34
  private getPackageVersion;
package/dist/index.js CHANGED
@@ -3,15 +3,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  /* eslint-disable camelcase */
6
+ /* eslint-disable max-len */
6
7
  /* eslint-disable no-console,no-underscore-dangle,@typescript-eslint/no-non-null-assertion */
7
8
  const src_1 = require("qaseio/dist/src");
9
+ const form_data_1 = __importDefault(require("form-data"));
8
10
  const cucumber_1 = require("@cucumber/cucumber");
9
11
  const qaseio_1 = require("qaseio");
10
12
  const chalk_1 = __importDefault(require("chalk"));
13
+ const crypto_1 = __importDefault(require("crypto"));
11
14
  const child_process_1 = require("child_process");
12
15
  const fs_1 = __importDefault(require("fs"));
13
16
  const messages_1 = require("@cucumber/messages/dist/src/messages");
17
+ const mime_types_1 = __importDefault(require("mime-types"));
14
18
  const moment_1 = __importDefault(require("moment"));
19
+ const os_1 = __importDefault(require("os"));
15
20
  const path_1 = __importDefault(require("path"));
16
21
  var Status = messages_1.io.cucumber.messages.TestStepFinished.TestStepResult.Status;
17
22
  const StatusMapping = {
@@ -23,6 +28,19 @@ const StatusMapping = {
23
28
  [Status.UNDEFINED]: null,
24
29
  [Status.UNKNOWN]: null,
25
30
  };
31
+ let customBoundary = '----------------------------';
32
+ crypto_1.default.randomBytes(24).forEach((value) => {
33
+ customBoundary += Math.floor(value * 10).toString(16);
34
+ });
35
+ class CustomBoundaryFormData extends form_data_1.default {
36
+ constructor() {
37
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
38
+ super();
39
+ }
40
+ getBoundary() {
41
+ return customBoundary;
42
+ }
43
+ }
26
44
  const loadJSON = (file) => {
27
45
  try {
28
46
  const data = fs_1.default.readFileSync(file, { encoding: 'utf8' });
@@ -46,6 +64,7 @@ const prepareConfig = (options = {}, configFile = '.qaserc') => {
46
64
  enabled: process.env.QASE_ENABLED === 'true' || config.enabled || false,
47
65
  basePath: process.env.QASE_API_BASE_URL || config.basePath,
48
66
  apiToken: process.env.QASE_API_TOKEN || config.apiToken || '',
67
+ rootSuiteTitle: process.env.QASE_ROOT_SUITE_TITLE || config.rootSuiteTitle,
49
68
  environmentId: Number.parseInt(process.env.QASE_ENVIRONMENT_ID, 10) || config.environmentId,
50
69
  projectCode: process.env.QASE_PROJECT || config.projectCode || '',
51
70
  runId: process.env.QASE_RUN_ID || config.runId || '',
@@ -78,26 +97,41 @@ class QaseReporter extends cucumber_1.Formatter {
78
97
  this.pickleInfo = {};
79
98
  this.testCaseStarts = {};
80
99
  this.testCaseStartedResult = {};
100
+ this.testCaseStartedAttachment = {};
81
101
  this.testCaseStartedErrors = {};
82
102
  this.testCaseScenarioId = {};
83
103
  this.pending = [];
84
- this.results = [];
85
- this.shouldPublish = 0;
104
+ this.results = {};
105
+ this.scenarios = {};
106
+ this.uploadsInQueueCount = 0;
86
107
  this.config = prepareConfig(options.parsedArgvOptions, (_a = options.parsedArgvOptions) === null || _a === void 0 ? void 0 : _a.qaseConfig);
87
108
  this.enabled = verifyConfig(this.config);
88
- this.api = new qaseio_1.QaseApi(this.config.apiToken, this.config.basePath, this.createHeaders());
109
+ this.api = new qaseio_1.QaseApi(this.config.apiToken, this.config.basePath, this.createHeaders(), CustomBoundaryFormData);
89
110
  if (!this.enabled) {
90
111
  return;
91
112
  }
92
113
  this.config.runName = prepareReportName(this.config);
93
114
  options.eventBroadcaster
94
115
  .on('envelope', (envelope) => {
95
- var _a, _b;
96
- if (envelope.pickle) {
116
+ var _a, _b, _c, _d;
117
+ if (envelope.gherkinDocument) {
118
+ (_b = (_a = envelope.gherkinDocument.feature) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b.forEach((featureChild) => {
119
+ var _a, _b, _c, _d, _e, _f, _g;
120
+ if (((_b = (_a = envelope.gherkinDocument) === null || _a === void 0 ? void 0 : _a.feature) === null || _b === void 0 ? void 0 : _b.name) != null && ((_c = featureChild.scenario) === null || _c === void 0 ? void 0 : _c.id) !== undefined && ((_d = featureChild.scenario) === null || _d === void 0 ? void 0 : _d.id) !== null) {
121
+ this.scenarios[(_e = featureChild.scenario) === null || _e === void 0 ? void 0 : _e.id] = (_g = (_f = envelope.gherkinDocument) === null || _f === void 0 ? void 0 : _f.feature) === null || _g === void 0 ? void 0 : _g.name;
122
+ }
123
+ });
124
+ }
125
+ else if (envelope.pickle) {
97
126
  this.pickleInfo[envelope.pickle.id] = {
98
- tags: this.extractIds(envelope.pickle.tags), name: envelope.pickle.name,
127
+ caseIds: this.extractIds(envelope.pickle.tags),
128
+ name: envelope.pickle.name,
129
+ lastAstNodeId: envelope.pickle.astNodeIds ? envelope.pickle.astNodeIds[envelope.pickle.astNodeIds.length - 1] : null,
99
130
  };
100
131
  }
132
+ else if (envelope.attachment) {
133
+ void this.upload(envelope.attachment);
134
+ }
101
135
  else if (envelope.testRunStarted) {
102
136
  void this.checkProject(this.config.projectCode, async (prjExists) => {
103
137
  if (prjExists) {
@@ -120,14 +154,10 @@ class QaseReporter extends cucumber_1.Formatter {
120
154
  var _a;
121
155
  if (created) {
122
156
  this.saveRunId((_a = created.result) === null || _a === void 0 ? void 0 : _a.id);
123
- this._log(
124
- // eslint-disable-next-line max-len
125
- chalk_1.default `{green Using run ${this.config.runId} to publish test results}`);
157
+ this._log(chalk_1.default `{green Using run ${this.config.runId} to publish test results}`);
126
158
  }
127
159
  else {
128
- this._log(
129
- // eslint-disable-next-line max-len
130
- chalk_1.default `{red Could not create run in project ${this.config.projectCode}}`);
160
+ this._log(chalk_1.default `{red Could not create run in project ${this.config.projectCode}}`);
131
161
  }
132
162
  });
133
163
  }
@@ -141,15 +171,11 @@ class QaseReporter extends cucumber_1.Formatter {
141
171
  });
142
172
  }
143
173
  else if (envelope.testRunFinished) {
144
- if (this.results.length === 0 && this.shouldPublish === 0) {
174
+ if (Object.keys(this.results).length === 0) {
145
175
  this._log('No testcases were matched. Ensure that your tests are declared correctly.');
176
+ return;
146
177
  }
147
- if (envelope.testRunFinished.success) {
148
- this._log('Finished success');
149
- }
150
- else {
151
- this._log('Finished with errors');
152
- }
178
+ void this.publishResults();
153
179
  }
154
180
  else if (envelope.testCase) {
155
181
  this.testCaseScenarioId[envelope.testCase.id] = envelope.testCase.pickleId;
@@ -165,13 +191,11 @@ class QaseReporter extends cucumber_1.Formatter {
165
191
  const oldStatus = this.testCaseStartedResult[stepFin.testCaseStartedId];
166
192
  const newStatus = StatusMapping[stepFin.testStepResult.status];
167
193
  if (newStatus === null) {
168
- this._log(
169
- // eslint-disable-next-line max-len
170
- chalk_1.default `{redBright Unexpected finish status ${stepStatus} received for step ${stepMessage}}`);
194
+ this._log(chalk_1.default `{redBright Unexpected finish status ${stepStatus} received for step ${stepMessage}}`);
171
195
  return;
172
196
  }
173
197
  if (newStatus !== src_1.ResultCreateStatusEnum.PASSED) {
174
- this.addErrorMessage(stepFin.testCaseStartedId, (_a = stepFin.testStepResult) === null || _a === void 0 ? void 0 : _a.message);
198
+ this.addErrorMessage(stepFin.testCaseStartedId, (_c = stepFin.testStepResult) === null || _c === void 0 ? void 0 : _c.message);
175
199
  if (oldStatus) {
176
200
  if (oldStatus !== src_1.ResultCreateStatusEnum.FAILED && newStatus) {
177
201
  this.testCaseStartedResult[stepFin.testCaseStartedId] = newStatus;
@@ -193,18 +217,67 @@ class QaseReporter extends cucumber_1.Formatter {
193
217
  name: info.name,
194
218
  started: tcs,
195
219
  finished: envelope.testCaseFinished,
196
- tags: info.tags,
197
- // eslint-disable-next-line max-len, @typescript-eslint/no-unnecessary-type-assertion
220
+ caseIds: info.caseIds,
221
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
198
222
  duration: Math.abs((envelope.testCaseFinished.timestamp.seconds - tcs.timestamp.seconds)),
199
- error: (_b = this.testCaseStartedErrors[tcs.id]) === null || _b === void 0 ? void 0 : _b.join('\n\n'),
223
+ error: (_d = this.testCaseStartedErrors[tcs.id]) === null || _d === void 0 ? void 0 : _d.join('\n\n'),
224
+ lastAstNodeId: info.lastAstNodeId,
200
225
  };
201
- this.publishCaseResult(test, status);
226
+ this.addForSending(test, status);
202
227
  }
203
228
  else if (envelope.parseError) {
204
229
  console.log('Error:', envelope.parseError);
205
230
  }
206
231
  });
207
232
  }
233
+ async waitUploads() {
234
+ while (this.uploadsInQueueCount > 0) {
235
+ await new Promise((resolve) => setTimeout(resolve, 100));
236
+ }
237
+ }
238
+ async upload(attachment) {
239
+ const randomString = crypto_1.default.randomBytes(20).toString('hex');
240
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-call
241
+ const tmpFilePath = os_1.default.tmpdir().concat(randomString, '.', mime_types_1.default.extension(attachment.mediaType));
242
+ fs_1.default.writeFile(tmpFilePath, attachment.body, 'base64', (err) => {
243
+ if (err !== null) {
244
+ this._log(err.message);
245
+ }
246
+ });
247
+ this.uploadsInQueueCount++;
248
+ await this.api.attachments.uploadAttachment(this.config.projectCode, [fs_1.default.createReadStream(tmpFilePath)], {
249
+ headers: {
250
+ 'Content-Type': 'multipart/form-data; boundary=' + customBoundary,
251
+ },
252
+ }).then((response) => {
253
+ var _a;
254
+ const fileHash = (_a = response.data.result) === null || _a === void 0 ? void 0 : _a[0].hash;
255
+ const caseAttachments = this.testCaseStartedAttachment[attachment.testCaseStartedId] || [];
256
+ caseAttachments.push(fileHash);
257
+ this.testCaseStartedAttachment[attachment.testCaseStartedId] = caseAttachments;
258
+ this.uploadsInQueueCount--;
259
+ }).catch((err) => {
260
+ this.log(`Error on uploading file ${err}`);
261
+ this.uploadsInQueueCount--;
262
+ });
263
+ }
264
+ async publishResults() {
265
+ await this.waitUploads();
266
+ const res = [];
267
+ Object.keys(this.results).forEach((testCaseStartedId) => {
268
+ var _a;
269
+ const result = this.results[testCaseStartedId];
270
+ result.attachments = (_a = this.testCaseStartedAttachment[testCaseStartedId]) !== null && _a !== void 0 ? _a : [];
271
+ res.push(result);
272
+ });
273
+ this.api.results.createResultBulk(this.config.projectCode, Number(this.config.runId), {
274
+ results: res,
275
+ }).then(() => {
276
+ this._log(chalk_1.default `{gray Results sent}`);
277
+ }).catch((err) => {
278
+ this._log(err);
279
+ });
280
+ }
208
281
  addErrorMessage(tcsid, error) {
209
282
  if (error) {
210
283
  if (tcsid in this.testCaseStartedErrors) {
@@ -282,58 +355,65 @@ class QaseReporter extends cucumber_1.Formatter {
282
355
  failed: chalk_1.default `{red Test ${name} ${status}}`,
283
356
  passed: chalk_1.default `{green Test ${name} ${status}}`,
284
357
  pending: chalk_1.default `{blueBright Test ${name} ${status}}`,
358
+ skipped: chalk_1.default `{bgGray Test ${name} ${status}}`,
285
359
  };
286
360
  if (status) {
287
361
  this._log(map[status]);
288
362
  }
289
363
  }
290
- publishCaseResult(test, status) {
364
+ addForSending(test, status) {
291
365
  this.logTestItem(test.name, status);
292
- const caseIds = test.tags;
293
- caseIds.forEach((caseId) => {
294
- this.shouldPublish++;
295
- const publishTest = (runId) => {
296
- if (caseId) {
297
- const add = caseIds.length > 1 ? chalk_1.default ` {white For case ${caseId}}` : '';
298
- this._log(chalk_1.default `{gray Start publishing: ${test.name}}${add}`);
299
- this.api.results.createResult(this.config.projectCode, Number(runId), {
300
- status,
301
- case_id: parseInt(caseId, 10),
302
- time: test.duration,
303
- stacktrace: test.error,
304
- comment: test.error ? test.error.split('\n')[0] : undefined,
305
- })
306
- .then((res) => {
307
- this.results.push({ test, result: res.data });
308
- this._log(chalk_1.default `{gray Result published: ${test.name} ${caseId}}${add}`);
309
- this.shouldPublish--;
310
- })
311
- .catch((err) => {
312
- this._log(err);
313
- this.shouldPublish--;
314
- });
315
- }
316
- };
317
- if (this.config.runId) {
318
- publishTest(this.config.runId);
319
- }
320
- else {
321
- this.pending.push(publishTest);
366
+ if (test.caseIds.length) {
367
+ this.addKnownCasesForSending(test, status);
368
+ }
369
+ else {
370
+ this.addNewCasesForSending(test, status);
371
+ }
372
+ }
373
+ addKnownCasesForSending(test, status) {
374
+ test.caseIds.forEach((caseId) => {
375
+ if (!caseId) {
376
+ return;
322
377
  }
378
+ const add = test.caseIds.length > 1 ? chalk_1.default ` {white For case ${caseId}}` : '';
379
+ this._log(chalk_1.default `{gray Added for publishing: ${test.name}}${add}`);
380
+ this.results[test.finished.testCaseStartedId] = {
381
+ status,
382
+ case_id: parseInt(caseId, 10),
383
+ time: test.duration,
384
+ stacktrace: test.error,
385
+ comment: test.error ? test.error.split('\n')[0] : undefined,
386
+ };
323
387
  });
324
388
  }
389
+ addNewCasesForSending(test, status) {
390
+ const suiteTitle = [test.lastAstNodeId ? this.scenarios[test.lastAstNodeId] : ''];
391
+ if (this.config.rootSuiteTitle) {
392
+ suiteTitle.unshift(this.config.rootSuiteTitle);
393
+ }
394
+ this._log(chalk_1.default `{gray Added for publishing: ${suiteTitle.join('/')}/${test.name}}`);
395
+ this.results[test.finished.testCaseStartedId] = {
396
+ case: {
397
+ title: test.name,
398
+ suite_title: suiteTitle.join('\t'),
399
+ },
400
+ status,
401
+ time: test.duration,
402
+ stacktrace: test.error,
403
+ comment: test.error ? test.error.split('\n')[0] : undefined,
404
+ };
405
+ }
325
406
  extractIds(tagsList) {
326
407
  const regex = /[Qq]-*(\d+)/;
327
408
  return tagsList.filter((tagInfo) => regex.test(tagInfo.name)).map((tagInfo) => regex.exec(tagInfo.name)[1]);
328
409
  }
329
410
  createHeaders() {
330
- const { version: nodeVersion, platform: os, arch } = process;
411
+ const { version: nodeVersion } = process;
331
412
  const npmVersion = child_process_1.execSync('npm -v', { encoding: 'utf8' }).replace(/['"\n]+/g, '');
332
413
  const qaseapiVersion = this.getPackageVersion('qaseio');
333
414
  const frameworkVersion = this.getPackageVersion('@cucumber/cucumber');
334
415
  const reporterVersion = this.getPackageVersion('cucumberjs-qase-reporter');
335
- const xPlatformHeader = `node=${nodeVersion};npm=${npmVersion};os=${os};arch=${arch}`;
336
- // eslint-disable-next-line max-len
416
+ const xPlatformHeader = `node=${nodeVersion};npm=${npmVersion};os=${os_1.default.platform()};arch=${os_1.default.arch()}`;
337
417
  const xClientHeader = `cucumberjs=${frameworkVersion};qase-cucumberjs=${reporterVersion};qaseapi=${qaseapiVersion}`;
338
418
  return {
339
419
  'X-Client': xClientHeader,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ <svg width="90" height="27" viewBox="0 0 90 27" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M18.1758 25.1949C16.8005 25.9202 15.337 26.692 13.346 26.692C5.97521 26.692 0 20.7168 0 13.346C0 5.97521 5.97521 0 13.346 0C20.7168 0 26.692 5.97521 26.692 13.346V26.0039C22.6348 22.8435 20.5351 23.9508 18.1758 25.1949ZM19.1635 13.346C19.1635 16.5589 16.5589 19.1635 13.346 19.1635C10.1331 19.1635 7.52852 16.5589 7.52852 13.346C7.52852 10.1331 10.1331 7.52852 13.346 7.52852C16.5589 7.52852 19.1635 10.1331 19.1635 13.346Z" fill="#222222"/>
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M43.3745 17.8529H42.584C41.9064 17.8529 41.2226 17.8843 40.5324 17.9471C39.8423 18.0098 39.2275 18.129 38.688 18.3047C38.1484 18.4803 37.703 18.7375 37.3517 19.0763C37.0003 19.4151 36.8247 19.8605 36.8247 20.4126C36.8247 20.764 36.9062 21.0651 37.0693 21.3161C37.2325 21.567 37.4395 21.7678 37.6904 21.9183C37.9414 22.0689 38.23 22.1756 38.5562 22.2383C38.8825 22.301 39.1961 22.3324 39.4973 22.3324C40.752 22.3324 41.7119 21.9874 42.3769 21.2972C43.042 20.6071 43.3745 19.6723 43.3745 18.4929V17.8529ZM32.044 9.83507C33.1482 8.78108 34.4343 7.99059 35.9024 7.46359C37.3705 6.93659 38.8699 6.6731 40.4007 6.6731C41.9817 6.6731 43.318 6.86758 44.4096 7.25656C45.5013 7.64553 46.3859 8.24781 47.0634 9.0634C47.741 9.87899 48.2366 10.9079 48.5503 12.1501C48.864 13.3923 49.0209 14.8666 49.0209 16.5731V26.0214H43.3745V24.0263H43.2615C42.7847 24.8043 42.0633 25.4066 41.0971 25.8332C40.1309 26.2598 39.0832 26.4731 37.9539 26.4731C37.2011 26.4731 36.4231 26.3727 35.6201 26.172C34.817 25.9712 34.083 25.645 33.418 25.1932C32.753 24.7415 32.2072 24.1393 31.7805 23.3864C31.3539 22.6335 31.1406 21.705 31.1406 20.6009C31.1406 19.2457 31.5108 18.1541 32.2511 17.3259C32.9914 16.4978 33.945 15.8579 35.1119 15.4062C36.2788 14.9545 37.5775 14.6533 39.0079 14.5028C40.4384 14.3522 41.8311 14.2769 43.1863 14.2769V13.9758C43.1863 13.0472 42.86 12.3634 42.2075 11.9242C41.5551 11.4851 40.752 11.2655 39.7984 11.2655C38.9201 11.2655 38.0731 11.4537 37.2575 11.8301C36.442 12.2066 35.7456 12.6583 35.1684 13.1853L32.044 9.83507ZM64.6425 12.8088C64.1406 12.332 63.5509 11.9305 62.8733 11.6043C62.1958 11.278 61.4806 11.1149 60.7277 11.1149C60.1505 11.1149 59.6172 11.2278 59.1279 11.4537C58.6385 11.6796 58.3939 12.0685 58.3939 12.6206C58.3939 13.1476 58.6636 13.524 59.2032 13.7499C59.7427 13.9758 60.6148 14.2267 61.8193 14.5028C62.522 14.6533 63.2309 14.8666 63.9461 15.1427C64.6614 15.4187 65.3075 15.7826 65.8847 16.2343C66.4619 16.686 66.9262 17.2381 67.2775 17.8906C67.6288 18.5431 67.8045 19.321 67.8045 20.2244C67.8045 21.4039 67.5661 22.4014 67.0893 23.217C66.6125 24.0326 65.9914 24.6913 65.226 25.1932C64.4606 25.6952 63.6011 26.059 62.6475 26.2849C61.6939 26.5107 60.7402 26.6237 59.7866 26.6237C58.2558 26.6237 56.7564 26.379 55.2883 25.8896C53.8203 25.4003 52.5969 24.6788 51.6182 23.7252L55.0813 20.0739C55.6334 20.6761 56.311 21.178 57.114 21.5796C57.9171 21.9811 58.7703 22.1818 59.6737 22.1818C60.1756 22.1818 60.6712 22.0626 61.1606 21.8242C61.6499 21.5858 61.8946 21.1655 61.8946 20.5632C61.8946 19.986 61.5935 19.5594 60.9912 19.2834C60.3889 19.0073 59.4479 18.7187 58.168 18.4176C57.5155 18.267 56.8631 18.0663 56.2106 17.8153C55.5581 17.5643 54.9747 17.2256 54.4602 16.799C53.9458 16.3723 53.5254 15.8453 53.1992 15.218C52.8729 14.5906 52.7098 13.8377 52.7098 12.9594C52.7098 11.8301 52.9482 10.8702 53.425 10.0797C53.9018 9.28925 54.5167 8.64306 55.2695 8.14116C56.0224 7.63925 56.8568 7.2691 57.7728 7.0307C58.6887 6.7923 59.5984 6.6731 60.5018 6.6731C61.9072 6.6731 63.2811 6.89268 64.6237 7.33184C65.9663 7.77101 67.1018 8.42975 68.0304 9.30808L64.6425 12.8088ZM84.292 14.5028C84.292 13.524 83.9845 12.6834 83.3697 11.9807C82.7549 11.278 81.8326 10.9267 80.603 10.9267C80.0007 10.9267 79.4486 11.0208 78.9467 11.209C78.4448 11.3972 78.0056 11.6545 77.6292 11.9807C77.2528 12.3069 76.9517 12.6896 76.7258 13.1288C76.4999 13.568 76.3745 14.0259 76.3494 14.5028H84.292ZM89.976 16.8742V17.6271C89.976 17.878 89.9634 18.1164 89.9383 18.3423H76.3494C76.3996 18.8693 76.5564 19.3461 76.8199 19.7727C77.0834 20.1993 77.4222 20.5695 77.8363 20.8832C78.2503 21.1969 78.7146 21.4415 79.229 21.6172C79.7435 21.7929 80.2767 21.8807 80.8288 21.8807C81.8075 21.8807 82.6357 21.6988 83.3132 21.3349C83.9908 20.971 84.5429 20.5005 84.9695 19.9233L89.2608 22.6336C88.3824 23.9134 87.2218 24.8984 85.7788 25.5885C84.3359 26.2786 82.6608 26.6237 80.7536 26.6237C79.3482 26.6237 78.0182 26.4041 76.7634 25.9649C75.5087 25.5258 74.4108 24.8858 73.4697 24.0451C72.5286 23.2045 71.7883 22.1693 71.2488 20.9396C70.7093 19.71 70.4395 18.3047 70.4395 16.7237C70.4395 15.1929 70.703 13.8064 71.23 12.5642C71.757 11.3219 72.4722 10.268 73.3756 9.40218C74.279 8.5364 75.3456 7.86511 76.5752 7.3883C77.8049 6.9115 79.1349 6.6731 80.5653 6.6731C81.9456 6.6731 83.2129 6.90522 84.3672 7.36948C85.5216 7.83374 86.5129 8.50503 87.341 9.38336C88.1691 10.2617 88.8153 11.3282 89.2796 12.583C89.7439 13.8377 89.976 15.2681 89.976 16.8742Z" fill="#222222"/>
4
+ </svg>
@@ -1,6 +1,8 @@
1
- const {Then} = require("@cucumber/cucumber");
2
- const {When} = require("@cucumber/cucumber");
3
- const {Given} = require("@cucumber/cucumber");
1
+ const {Then} = require('@cucumber/cucumber');
2
+ const {When} = require('@cucumber/cucumber');
3
+ const {Given} = require('@cucumber/cucumber');
4
+ const fs = require('fs');
5
+
4
6
  Given(/^I am on the cucumber\.js GitHub repository$/, function(callback) {
5
7
  // The callback argument will execute the next step
6
8
  // This is passed to zombie.visit, which will execute it once the page has loaded
@@ -8,12 +10,15 @@ Given(/^I am on the cucumber\.js GitHub repository$/, function(callback) {
8
10
  });
9
11
 
10
12
  When(/^I go to the README file$/, function() {
13
+ const b = fs.readFileSync(__dirname + '/../logo.svg');
14
+ this.attach(b, 'image/svg+xml');
11
15
  // If your code returns a promise then there is no need for the callback
12
16
  // This works because zombie.visit returns a promise
13
17
  return this.browser.visit('https://github.com/cucumber/cucumber-js/blob/master/README.md');
14
18
  });
15
19
 
16
20
  Then(/^I should see a "(.*)" section$/, function(title) {
21
+ this.attach('{"name": "some JSON"}', 'application/json');
17
22
  // Using zombie.assert to test a link is present
18
23
  // If the assertion fails an error will be thrown and the cucumber test will fail
19
24
  // Zombie will use my message in the second argument as the error message
@@ -25,3 +30,5 @@ Then(/I should see a "(.*)" badge/, function(badge) {
25
30
  // /^I should see a "([^"]*)" badge$/
26
31
  this.browser.assert.element('img[alt="' + badge + '"]', 'The "' + badge + '" was not found');
27
32
  });
33
+
34
+ Then(/I should see nothing/, () => 'skipped');
@@ -3,44 +3,9 @@ Feature: Cucumber documentation
3
3
  I want to have documentation on cucumber
4
4
  So I can write better applications
5
5
 
6
- @sections @Q-2
6
+ @sections
7
7
  Scenario: Usage documentation
8
8
  Given I am on the cucumber.js GitHub repository
9
9
  When I go to the README file
10
10
  # Then I should see a "Cool" section
11
11
  # When I go to the README file
12
-
13
- @badges
14
- Scenario: Status badges
15
- Given I am on the cucumber.js GitHub repository
16
- When I go to the README file
17
- Then I should see a "12412412" badge
18
- And I should see a "Dependencies" badge
19
-
20
- @ignore @q4
21
- Scenario: Status badges 2
22
- Given I am on the cucumber.js GitHub repository
23
- When I go to the README file
24
- Then I should see a "Build Status" badge
25
- And I should see a "Dependencies" badge
26
-
27
- @sections @Q-5
28
- Scenario: Usage documentation 2
29
- Given I am on the cucumber.js GitHub repository
30
- When I go to the README file
31
- Then I should see a "Cool" section
32
- When I go to the README file
33
-
34
- @sections @Q-6
35
- Scenario: Usage documentation 3
36
- Given I am on the cucumber.js GitHub repository
37
- When I go to the README file
38
- Then I should see a "Cool" section
39
- When I go to the README file
40
-
41
- @sections @Q-7
42
- Scenario: Usage documentation 4
43
- Given I am on the cucumber.js GitHub repository
44
- When I go to the README file
45
- Then I should see a "Cool" section
46
- When I go to the README file
@@ -0,0 +1,23 @@
1
+ Feature: Cucumber documentation 2
2
+ As a user of cucumber.js
3
+ I want to have documentation on cucumber
4
+ So I can write better applications
5
+
6
+ @badges
7
+ Scenario: Status badges
8
+ Given I am on the cucumber.js GitHub repository
9
+ When I go to the README file
10
+ Then I should see a "12412412" badge
11
+ And I should see a "Dependencies" badge
12
+
13
+ @ignore
14
+ Scenario: Status badges 2
15
+ Given I am on the cucumber.js GitHub repository
16
+ When I go to the README file
17
+ Then I should see a "Build Status" badge
18
+ And I should see a "Dependencies" badge
19
+
20
+ @sections
21
+ Scenario: Usage documentation 5
22
+ Given I am on the cucumber.js GitHub repository
23
+ Then I should see nothing
@@ -17,13 +17,16 @@
17
17
  },
18
18
  "..": {
19
19
  "name": "cucumberjs-qase-reporter",
20
- "version": "v0.2.8-alpha.0",
20
+ "version": "v0.2.8-alpha.1",
21
21
  "dev": true,
22
22
  "license": "Apache-2.0",
23
23
  "dependencies": {
24
24
  "chalk": "^4.1.0",
25
+ "file-type": "^17.1.1",
26
+ "mime-types": "^2.1.35",
25
27
  "moment": "^2.29.1",
26
- "qaseio": "^2.0.0"
28
+ "qaseio": "^2.0.1",
29
+ "read-chunk": "^4.0.2"
27
30
  },
28
31
  "devDependencies": {
29
32
  "@cucumber/cucumber": "^7.0.0",
@@ -11379,9 +11382,9 @@
11379
11382
  }
11380
11383
  },
11381
11384
  "node_modules/async": {
11382
- "version": "1.0.0",
11383
- "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz",
11384
- "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=",
11385
+ "version": "3.2.3",
11386
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
11387
+ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
11385
11388
  "dev": true
11386
11389
  },
11387
11390
  "node_modules/async-limiter": {
@@ -13996,12 +13999,12 @@
13996
13999
  }
13997
14000
  },
13998
14001
  "node_modules/winston": {
13999
- "version": "2.4.5",
14000
- "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz",
14001
- "integrity": "sha512-TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==",
14002
+ "version": "2.4.6",
14003
+ "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz",
14004
+ "integrity": "sha512-J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==",
14002
14005
  "dev": true,
14003
14006
  "dependencies": {
14004
- "async": "~1.0.0",
14007
+ "async": "^3.2.3",
14005
14008
  "colors": "1.0.x",
14006
14009
  "cycle": "1.0.x",
14007
14010
  "eyes": "0.1.x",
@@ -14573,9 +14576,9 @@
14573
14576
  }
14574
14577
  },
14575
14578
  "async": {
14576
- "version": "1.0.0",
14577
- "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz",
14578
- "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=",
14579
+ "version": "3.2.3",
14580
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
14581
+ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==",
14579
14582
  "dev": true
14580
14583
  },
14581
14584
  "async-limiter": {
@@ -14843,13 +14846,16 @@
14843
14846
  "eslint": "^7.17.0",
14844
14847
  "eslint-plugin-jsdoc": "^26.0.1",
14845
14848
  "eslint-plugin-prefer-arrow": "^1.2.1",
14849
+ "file-type": "^17.1.1",
14846
14850
  "handlebars": "^4.7.7",
14847
14851
  "jest": "^26.6.3",
14848
14852
  "json-schema": "^0.4.0",
14849
14853
  "long": "^4.0.0",
14854
+ "mime-types": "^2.1.35",
14850
14855
  "moment": "^2.29.1",
14851
14856
  "nodemon": "^2.0.7",
14852
- "qaseio": "^2.0.0",
14857
+ "qaseio": "^2.0.1",
14858
+ "read-chunk": "^4.0.2",
14853
14859
  "ts-jest": "^26.4.4",
14854
14860
  "typescript": "^3.9.3"
14855
14861
  },
@@ -21131,8 +21137,7 @@
21131
21137
  }
21132
21138
  },
21133
21139
  "qaseio": {
21134
- "version": "2.0.0",
21135
- "resolved": "https://registry.npmjs.org/qaseio/-/qaseio-2.0.0.tgz",
21140
+ "version": "https://registry.npmjs.org/qaseio/-/qaseio-2.0.0.tgz",
21136
21141
  "integrity": "sha512-2DC9uxO1s7e0QEcx1ZO2geecMQW2cMeA/QkJqJg7nV0Di95uC0AtPGoirJnYjb4WB8j6gg6QwQnByTC09aNv4g==",
21137
21142
  "dev": true,
21138
21143
  "requires": {
@@ -25311,12 +25316,12 @@
25311
25316
  }
25312
25317
  },
25313
25318
  "winston": {
25314
- "version": "2.4.5",
25315
- "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz",
25316
- "integrity": "sha512-TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==",
25319
+ "version": "2.4.6",
25320
+ "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz",
25321
+ "integrity": "sha512-J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==",
25317
25322
  "dev": true,
25318
25323
  "requires": {
25319
- "async": "~1.0.0",
25324
+ "async": "^3.2.3",
25320
25325
  "colors": "1.0.x",
25321
25326
  "cycle": "1.0.x",
25322
25327
  "eyes": "0.1.x",
@@ -4,8 +4,8 @@
4
4
  "description": "> Some tests of using cucumber JS with zombie and selenium",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
- "test-zombie": "cucumber-js -f cucumberjs-qase-reporter --format-options='{\"qaseConfig\": \"./.qaserc\"}' features -r examples/zombie/support -r examples/zombie/steps",
8
- "test-zombie1": "cucumber-js features -r examples/zombie/support -r examples/zombie/steps"
7
+ "test": "cucumber-js -f cucumberjs-qase-reporter --format-options='{\"qaseConfig\": \"./.qaserc\"}' features -r examples/zombie/support -r examples/zombie/steps --publish-quiet",
8
+ "test:l": "cucumber-js features -r examples/zombie/support -r examples/zombie/steps"
9
9
  },
10
10
  "devDependencies": {
11
11
  "@cucumber/cucumber": "^7.0.0",
Binary file
Binary file
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "cucumberjs-qase-reporter",
3
- "version": "v0.2.8-alpha.0",
3
+ "version": "v0.2.8-alpha.1",
4
4
  "description": "Qase TMS CucumberJS Reporter",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "homepage": "",
8
8
  "bugs": {
9
- "url": ""
9
+ "url": "https://github.com/qase-tms/qase-javascript/"
10
10
  },
11
11
  "repository": {
12
12
  "type": "git",
@@ -54,7 +54,10 @@
54
54
  },
55
55
  "dependencies": {
56
56
  "chalk": "^4.1.0",
57
+ "file-type": "^17.1.1",
58
+ "mime-types": "^2.1.35",
57
59
  "moment": "^2.29.1",
58
- "qaseio": "^2.0.0"
60
+ "qaseio": "^2.0.1",
61
+ "read-chunk": "^4.0.2"
59
62
  }
60
63
  }