@allurereport/reader 3.7.0 → 3.8.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.
@@ -24,6 +24,19 @@ export const allure2 = {
24
24
  await visitor.visitAttachmentFile(data, { readerId });
25
25
  return true;
26
26
  }
27
+ if (originalFileName.endsWith("-check.json")) {
28
+ try {
29
+ const parsed = await data.asJson();
30
+ if (parsed && isStringAnyRecord(parsed)) {
31
+ await processCheckResult(visitor, parsed, originalFileName);
32
+ }
33
+ return true;
34
+ }
35
+ catch (e) {
36
+ console.error("error parsing", originalFileName, e);
37
+ return false;
38
+ }
39
+ }
27
40
  if (originalFileName.endsWith("-result.json")) {
28
41
  try {
29
42
  const parsed = await data.asJson();
@@ -146,6 +159,22 @@ const processTestResult = async (visitor, result, originalFileName) => {
146
159
  };
147
160
  await visitor.visitTestResult(dest, { readerId, metadata: { originalFileName } });
148
161
  };
162
+ const processCheckResult = async (visitor, result, originalFileName) => {
163
+ const tags = Array.isArray(result.tags) ? result.tags.map((tag) => ensureString(tag)).filter(notNull) : [];
164
+ const details = isStringAnyRecord(result.details) ? result.details : {};
165
+ const message = ensureString(details.message);
166
+ const error = ensureString(details.error);
167
+ await visitor.visitCheckResult({
168
+ name: ensureString(result.name, originalFileName.replace(/-check\.json$/, "")),
169
+ status: convertCheckStatus(result.status),
170
+ ...(tags.length ? { tags } : {}),
171
+ details: {
172
+ command: ensureString(details.command, ""),
173
+ ...(message ? { message } : {}),
174
+ ...(error ? { error } : {}),
175
+ },
176
+ }, { readerId, metadata: { originalFileName } });
177
+ };
149
178
  const processExecutor = async (visitor, result) => {
150
179
  await visitor.visitMetadata({
151
180
  allure2_executor: {
@@ -238,6 +267,9 @@ const processGlobals = async (visitor, globals) => {
238
267
  errors: isStringAnyRecordArray(errors) ? errors.map((error) => convertGlobalError(error)) : [],
239
268
  }, { readerId });
240
269
  };
270
+ const convertCheckStatus = (status) => {
271
+ return status === "passed" ? "passed" : "failed";
272
+ };
241
273
  const convertStatus = (status) => {
242
274
  switch ((status ?? "unknown").toLowerCase()) {
243
275
  case "failed":
@@ -36,7 +36,7 @@ export const cucumberjson = {
36
36
  if (originalFileName.endsWith(".json")) {
37
37
  try {
38
38
  const parsed = await data.asJson();
39
- if (parsed) {
39
+ if (isArray(parsed)) {
40
40
  let oneOrMoreFeaturesParsed = false;
41
41
  for (const feature of parsed) {
42
42
  oneOrMoreFeaturesParsed || (oneOrMoreFeaturesParsed = await processFeature(visitor, originalFileName, feature));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allurereport/reader",
3
- "version": "3.7.0",
3
+ "version": "3.8.0",
4
4
  "description": "Collection of utilities which helps to process different kind of test results as Allure Results",
5
5
  "keywords": [
6
6
  "allure",
@@ -26,9 +26,9 @@
26
26
  "lint:fix": "oxlint --import-plugin --fix src test features stories"
27
27
  },
28
28
  "dependencies": {
29
- "@allurereport/core-api": "3.7.0",
30
- "@allurereport/plugin-api": "3.7.0",
31
- "@allurereport/reader-api": "3.7.0",
29
+ "@allurereport/core-api": "3.8.0",
30
+ "@allurereport/plugin-api": "3.8.0",
31
+ "@allurereport/reader-api": "3.8.0",
32
32
  "fast-xml-parser": "^5.5.7"
33
33
  },
34
34
  "devDependencies": {