@allurereport/plugin-classic 3.0.0-beta.15 → 3.0.0-beta.16

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.
@@ -1,8 +1,8 @@
1
1
  import type { TestStatus } from "@allurereport/core-api";
2
- import type { AwesomeCategory } from "./model.js";
3
- export declare const matchCategories: (categories: AwesomeCategory[], result: {
2
+ import type { ClassicCategory } from "./model.js";
3
+ export declare const matchCategories: (categories: ClassicCategory[], result: {
4
4
  message?: string;
5
5
  trace?: string;
6
6
  status: TestStatus;
7
7
  flaky: boolean;
8
- }) => AwesomeCategory[];
8
+ }) => ClassicCategory[];
@@ -34,6 +34,7 @@ export const convertTestResult = (tr) => {
34
34
  retries: [],
35
35
  breadcrumbs: [],
36
36
  retry: false,
37
+ transition: tr.transition,
37
38
  };
38
39
  };
39
40
  export const convertTestStepResult = (tsr) => {
@@ -1,21 +1,21 @@
1
1
  import { type AttachmentLink, type EnvironmentItem, type Statistic } from "@allurereport/core-api";
2
2
  import { type AllureStore, type ReportFiles, type ResultFile } from "@allurereport/plugin-api";
3
3
  import type { AwesomeTestResult } from "@allurereport/web-awesome";
4
- import type { AwesomeOptions, TemplateManifest } from "./model.js";
5
- import type { AwesomeDataWriter, ReportFile } from "./writer.js";
4
+ import type { ClassicOptions, TemplateManifest } from "./model.js";
5
+ import type { ClassicDataWriter, ReportFile } from "./writer.js";
6
6
  export declare const readTemplateManifest: (singleFileMode?: boolean) => Promise<TemplateManifest>;
7
- export declare const generateTestResults: (writer: AwesomeDataWriter, store: AllureStore) => Promise<AwesomeTestResult[]>;
8
- export declare const generateTree: (writer: AwesomeDataWriter, treeName: string, labels: string[], tests: AwesomeTestResult[]) => Promise<void>;
9
- export declare const generateEnvironmentJson: (writer: AwesomeDataWriter, env: EnvironmentItem[]) => Promise<void>;
10
- export declare const generateStatistic: (writer: AwesomeDataWriter, statistic: Statistic) => Promise<void>;
11
- export declare const generatePieChart: (writer: AwesomeDataWriter, statistic: Statistic) => Promise<void>;
12
- export declare const generateAttachmentsFiles: (writer: AwesomeDataWriter, attachmentLinks: AttachmentLink[], contentFunction: (id: string) => Promise<ResultFile | undefined>) => Promise<Map<string, string> | undefined>;
13
- export declare const generateHistoryDataPoints: (writer: AwesomeDataWriter, store: AllureStore) => Promise<Map<string, string>>;
14
- export declare const generateStaticFiles: (payload: AwesomeOptions & {
7
+ export declare const generateTestResults: (writer: ClassicDataWriter, store: AllureStore) => Promise<AwesomeTestResult[]>;
8
+ export declare const generateTree: (writer: ClassicDataWriter, treeName: string, labels: string[], tests: AwesomeTestResult[]) => Promise<void>;
9
+ export declare const generateEnvironmentJson: (writer: ClassicDataWriter, env: EnvironmentItem[]) => Promise<void>;
10
+ export declare const generateStatistic: (writer: ClassicDataWriter, statistic: Statistic) => Promise<void>;
11
+ export declare const generatePieChart: (writer: ClassicDataWriter, statistic: Statistic) => Promise<void>;
12
+ export declare const generateAttachmentsFiles: (writer: ClassicDataWriter, attachmentLinks: AttachmentLink[], contentFunction: (id: string) => Promise<ResultFile | undefined>) => Promise<Map<string, string> | undefined>;
13
+ export declare const generateHistoryDataPoints: (writer: ClassicDataWriter, store: AllureStore) => Promise<Map<string, string>>;
14
+ export declare const generateStaticFiles: (payload: ClassicOptions & {
15
15
  allureVersion: string;
16
16
  reportFiles: ReportFiles;
17
17
  reportDataFiles: ReportFile[];
18
18
  reportUuid: string;
19
19
  reportName: string;
20
20
  }) => Promise<void>;
21
- export declare const generateTreeByCategories: (writer: AwesomeDataWriter, treeName: string, tests: AwesomeTestResult[]) => Promise<void>;
21
+ export declare const generateTreeByCategories: (writer: ClassicDataWriter, treeName: string, tests: AwesomeTestResult[]) => Promise<void>;
@@ -113,14 +113,17 @@ export const generateTestResults = async (writer, store) => {
113
113
  };
114
114
  export const generateTree = async (writer, treeName, labels, tests) => {
115
115
  const visibleTests = tests.filter((test) => !test.hidden);
116
- const tree = createTreeByLabels(visibleTests, labels, ({ id, name, status, duration, flaky, start, retries }) => {
116
+ const tree = createTreeByLabels(visibleTests, labels, ({ id, name, status, duration, flaky, transition, start, retries }) => {
117
+ const retriesCount = retries?.length ?? 0;
117
118
  return {
118
119
  nodeId: id,
119
- retry: !!retries?.length,
120
+ retry: Boolean(retriesCount),
121
+ retriesCount,
120
122
  name,
121
123
  status,
122
124
  duration,
123
125
  flaky,
126
+ transition,
124
127
  start,
125
128
  };
126
129
  }, undefined, (group, leaf) => {
@@ -225,14 +228,17 @@ export const generateStaticFiles = async (payload) => {
225
228
  };
226
229
  export const generateTreeByCategories = async (writer, treeName, tests) => {
227
230
  const visibleTests = tests.filter((test) => !test.hidden);
228
- const tree = createTreeByCategories(visibleTests, ({ id, name, status, duration, flaky, start, retries }) => {
231
+ const tree = createTreeByCategories(visibleTests, ({ id, name, status, duration, flaky, transition, start, retries }) => {
232
+ const retriesCount = retries?.length ?? 0;
229
233
  return {
230
234
  nodeId: id,
231
- retry: !!retries?.length,
235
+ retry: Boolean(retriesCount),
236
+ retriesCount,
232
237
  name,
233
238
  status,
234
239
  duration,
235
240
  flaky,
241
+ transition,
236
242
  start,
237
243
  };
238
244
  }, undefined, (group, leaf) => {
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { AwesomePlugin } from "./plugin.js";
2
- export default AwesomePlugin;
1
+ export type { ClassicPluginOptions } from "./model.js";
2
+ export { ClassicPlugin as default } from "./plugin.js";
package/dist/index.js CHANGED
@@ -1,2 +1 @@
1
- import { AwesomePlugin } from "./plugin.js";
2
- export default AwesomePlugin;
1
+ export { ClassicPlugin as default } from "./plugin.js";
package/dist/model.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { TestResult, TestStatus } from "@allurereport/core-api";
2
- export type AwesomeOptions = {
2
+ export type ClassicOptions = {
3
3
  reportName?: string;
4
4
  singleFile?: boolean;
5
5
  logo?: string;
@@ -14,8 +14,8 @@ export type AwesomeOptions = {
14
14
  filter?: (tr: TestResult) => boolean;
15
15
  };
16
16
  export type TemplateManifest = Record<string, string>;
17
- export type AwesomePluginOptions = AwesomeOptions;
18
- export interface AwesomeCategory {
17
+ export type ClassicPluginOptions = ClassicOptions;
18
+ export interface ClassicCategory {
19
19
  name: string;
20
20
  description?: string;
21
21
  descriptionHtml?: string;
package/dist/plugin.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import type { AllureStore, Plugin, PluginContext, PluginSummary } from "@allurereport/plugin-api";
2
- import type { AwesomePluginOptions } from "./model.js";
3
- export declare class AwesomePlugin implements Plugin {
2
+ import type { ClassicPluginOptions } from "./model.js";
3
+ export declare class ClassicPlugin implements Plugin {
4
4
  #private;
5
- readonly options: AwesomePluginOptions;
6
- constructor(options?: AwesomePluginOptions);
5
+ readonly options: ClassicPluginOptions;
6
+ constructor(options?: ClassicPluginOptions);
7
7
  start: (context: PluginContext) => Promise<void>;
8
8
  update: (context: PluginContext, store: AllureStore) => Promise<void>;
9
9
  done: (context: PluginContext, store: AllureStore) => Promise<void>;
package/dist/plugin.js CHANGED
@@ -9,38 +9,38 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
10
10
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
11
  };
12
- var _AwesomePlugin_writer, _AwesomePlugin_generate;
12
+ var _ClassicPlugin_writer, _ClassicPlugin_generate;
13
13
  import { getWorstStatus } from "@allurereport/core-api";
14
14
  import { preciseTreeLabels } from "@allurereport/plugin-api";
15
15
  import { generateAttachmentsFiles, generateEnvironmentJson, generateHistoryDataPoints, generatePieChart, generateStaticFiles, generateStatistic, generateTestResults, generateTree, generateTreeByCategories, } from "./generators.js";
16
16
  import { InMemoryReportDataWriter, ReportFileDataWriter } from "./writer.js";
17
- export class AwesomePlugin {
17
+ export class ClassicPlugin {
18
18
  constructor(options = {}) {
19
19
  this.options = options;
20
- _AwesomePlugin_writer.set(this, void 0);
21
- _AwesomePlugin_generate.set(this, async (context, store) => {
20
+ _ClassicPlugin_writer.set(this, void 0);
21
+ _ClassicPlugin_generate.set(this, async (context, store) => {
22
22
  const { singleFile, groupBy = [] } = this.options ?? {};
23
23
  const environmentItems = await store.metadataByKey("allure_environment");
24
24
  const statistic = await store.testsStatistic();
25
25
  const attachments = await store.allAttachments();
26
- await generateStatistic(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), statistic);
27
- await generatePieChart(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), statistic);
28
- const convertedTrs = await generateTestResults(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), store);
26
+ await generateStatistic(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), statistic);
27
+ await generatePieChart(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), statistic);
28
+ const convertedTrs = await generateTestResults(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), store);
29
29
  const treeLabels = preciseTreeLabels(!groupBy.length ? ["parentSuite", "suite", "subSuite"] : groupBy, convertedTrs, ({ labels }) => labels.map(({ name }) => name));
30
30
  const behaviorLabels = preciseTreeLabels(!groupBy.length ? ["epic", "feature", "story"] : groupBy, convertedTrs, ({ labels }) => labels.map(({ name }) => name));
31
31
  const packagesLabels = preciseTreeLabels(!groupBy.length ? ["package"] : groupBy, convertedTrs, ({ labels }) => labels.map(({ name }) => name));
32
- await generateTreeByCategories(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), "categories", convertedTrs);
33
- await generateTree(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), "tree", treeLabels, convertedTrs);
34
- await generateTree(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), "behaviors", behaviorLabels, convertedTrs);
35
- await generateTree(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), "packages", packagesLabels, convertedTrs);
36
- await generateHistoryDataPoints(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), store);
32
+ await generateTreeByCategories(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), "categories", convertedTrs);
33
+ await generateTree(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), "tree", treeLabels, convertedTrs);
34
+ await generateTree(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), "behaviors", behaviorLabels, convertedTrs);
35
+ await generateTree(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), "packages", packagesLabels, convertedTrs);
36
+ await generateHistoryDataPoints(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), store);
37
37
  if (environmentItems?.length) {
38
- await generateEnvironmentJson(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), environmentItems);
38
+ await generateEnvironmentJson(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), environmentItems);
39
39
  }
40
40
  if (attachments?.length) {
41
- await generateAttachmentsFiles(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), attachments, (id) => store.attachmentContentById(id));
41
+ await generateAttachmentsFiles(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), attachments, (id) => store.attachmentContentById(id));
42
42
  }
43
- const reportDataFiles = singleFile ? __classPrivateFieldGet(this, _AwesomePlugin_writer, "f").reportFiles() : [];
43
+ const reportDataFiles = singleFile ? __classPrivateFieldGet(this, _ClassicPlugin_writer, "f").reportFiles() : [];
44
44
  await generateStaticFiles({
45
45
  ...this.options,
46
46
  allureVersion: context.allureVersion,
@@ -53,23 +53,23 @@ export class AwesomePlugin {
53
53
  this.start = async (context) => {
54
54
  const { singleFile } = this.options;
55
55
  if (singleFile) {
56
- __classPrivateFieldSet(this, _AwesomePlugin_writer, new InMemoryReportDataWriter(), "f");
56
+ __classPrivateFieldSet(this, _ClassicPlugin_writer, new InMemoryReportDataWriter(), "f");
57
57
  return;
58
58
  }
59
- __classPrivateFieldSet(this, _AwesomePlugin_writer, new ReportFileDataWriter(context.reportFiles), "f");
59
+ __classPrivateFieldSet(this, _ClassicPlugin_writer, new ReportFileDataWriter(context.reportFiles), "f");
60
60
  await Promise.resolve();
61
61
  };
62
62
  this.update = async (context, store) => {
63
- if (!__classPrivateFieldGet(this, _AwesomePlugin_writer, "f")) {
63
+ if (!__classPrivateFieldGet(this, _ClassicPlugin_writer, "f")) {
64
64
  throw new Error("call start first");
65
65
  }
66
- await __classPrivateFieldGet(this, _AwesomePlugin_generate, "f").call(this, context, store);
66
+ await __classPrivateFieldGet(this, _ClassicPlugin_generate, "f").call(this, context, store);
67
67
  };
68
68
  this.done = async (context, store) => {
69
- if (!__classPrivateFieldGet(this, _AwesomePlugin_writer, "f")) {
69
+ if (!__classPrivateFieldGet(this, _ClassicPlugin_writer, "f")) {
70
70
  throw new Error("call start first");
71
71
  }
72
- await __classPrivateFieldGet(this, _AwesomePlugin_generate, "f").call(this, context, store);
72
+ await __classPrivateFieldGet(this, _ClassicPlugin_generate, "f").call(this, context, store);
73
73
  };
74
74
  }
75
75
  async info(context, store) {
@@ -87,4 +87,4 @@ export class AwesomePlugin {
87
87
  };
88
88
  }
89
89
  }
90
- _AwesomePlugin_writer = new WeakMap(), _AwesomePlugin_generate = new WeakMap();
90
+ _ClassicPlugin_writer = new WeakMap(), _ClassicPlugin_generate = new WeakMap();
package/dist/writer.d.ts CHANGED
@@ -4,13 +4,13 @@ export interface ReportFile {
4
4
  name: string;
5
5
  value: string;
6
6
  }
7
- export interface AwesomeDataWriter {
7
+ export interface ClassicDataWriter {
8
8
  writeData(fileName: string, data: any): Promise<void>;
9
9
  writeWidget(fileName: string, data: any): Promise<void>;
10
10
  writeTestCase(test: AwesomeTestResult): Promise<void>;
11
11
  writeAttachment(source: string, file: ResultFile): Promise<void>;
12
12
  }
13
- export declare class FileSystemReportDataWriter implements AwesomeDataWriter {
13
+ export declare class FileSystemReportDataWriter implements ClassicDataWriter {
14
14
  private readonly output;
15
15
  constructor(output: string);
16
16
  writeData(fileName: string, data: any): Promise<void>;
@@ -18,7 +18,7 @@ export declare class FileSystemReportDataWriter implements AwesomeDataWriter {
18
18
  writeTestCase(test: AwesomeTestResult): Promise<void>;
19
19
  writeAttachment(source: string, file: ResultFile): Promise<void>;
20
20
  }
21
- export declare class InMemoryReportDataWriter implements AwesomeDataWriter {
21
+ export declare class InMemoryReportDataWriter implements ClassicDataWriter {
22
22
  #private;
23
23
  writeData(fileName: string, data: any): Promise<void>;
24
24
  writeWidget(fileName: string, data: any): Promise<void>;
@@ -26,7 +26,7 @@ export declare class InMemoryReportDataWriter implements AwesomeDataWriter {
26
26
  writeAttachment(fileName: string, file: ResultFile): Promise<void>;
27
27
  reportFiles(): ReportFile[];
28
28
  }
29
- export declare class ReportFileDataWriter implements AwesomeDataWriter {
29
+ export declare class ReportFileDataWriter implements ClassicDataWriter {
30
30
  readonly reportFiles: ReportFiles;
31
31
  constructor(reportFiles: ReportFiles);
32
32
  writeData(fileName: string, data: any): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allurereport/plugin-classic",
3
- "version": "3.0.0-beta.15",
3
+ "version": "3.0.0-beta.16",
4
4
  "description": "The classic version of Allure HTML report",
5
5
  "keywords": [
6
6
  "allure",
@@ -30,11 +30,11 @@
30
30
  "test": "rimraf ./out && vitest run"
31
31
  },
32
32
  "dependencies": {
33
- "@allurereport/core-api": "3.0.0-beta.15",
34
- "@allurereport/plugin-api": "3.0.0-beta.15",
35
- "@allurereport/web-awesome": "3.0.0-beta.15",
36
- "@allurereport/web-classic": "3.0.0-beta.15",
37
- "@allurereport/web-commons": "3.0.0-beta.15",
33
+ "@allurereport/core-api": "3.0.0-beta.16",
34
+ "@allurereport/plugin-api": "3.0.0-beta.16",
35
+ "@allurereport/web-awesome": "3.0.0-beta.16",
36
+ "@allurereport/web-classic": "3.0.0-beta.16",
37
+ "@allurereport/web-commons": "3.0.0-beta.16",
38
38
  "d3-shape": "^3.2.0",
39
39
  "handlebars": "^4.7.8"
40
40
  },
@@ -45,7 +45,7 @@
45
45
  "@types/node": "^20.17.9",
46
46
  "@typescript-eslint/eslint-plugin": "^8.0.0",
47
47
  "@typescript-eslint/parser": "^8.0.0",
48
- "@vitest/runner": "^2.1.8",
48
+ "@vitest/runner": "^2.1.9",
49
49
  "allure-vitest": "^3.0.9",
50
50
  "eslint": "^8.57.0",
51
51
  "eslint-config-prettier": "^9.1.0",
@@ -56,6 +56,6 @@
56
56
  "eslint-plugin-prefer-arrow": "^1.2.3",
57
57
  "rimraf": "^6.0.1",
58
58
  "typescript": "^5.6.3",
59
- "vitest": "^2.1.8"
59
+ "vitest": "^2.1.9"
60
60
  }
61
61
  }