@allurereport/plugin-classic 3.14.3 → 3.16.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.
@@ -1,5 +1,5 @@
1
1
  import { type AttachmentLink, type EnvironmentItem, type Statistic } from "@allurereport/core-api";
2
- import { type AllureStore, type ReportFiles, type ResultFile } from "@allurereport/plugin-api";
2
+ import { type AllureStore, type PluginContext, type ReportFiles, type ResultFile } from "@allurereport/plugin-api";
3
3
  import type { ClassicTestResult } from "@allurereport/web-classic";
4
4
  import type { ClassicOptions, TemplateManifest } from "./model.js";
5
5
  import type { ClassicDataWriter, ReportFile } from "./writer.js";
@@ -9,6 +9,7 @@ export declare const generateTree: (writer: ClassicDataWriter, treeName: string,
9
9
  export declare const generateEnvironmentJson: (writer: ClassicDataWriter, env: EnvironmentItem[]) => Promise<void>;
10
10
  export declare const generateStatistic: (writer: ClassicDataWriter, statistic: Statistic) => Promise<void>;
11
11
  export declare const generatePieChart: (writer: ClassicDataWriter, statistic: Statistic) => Promise<void>;
12
+ export declare const generateAllCharts: (writer: ClassicDataWriter, store: AllureStore, options: ClassicOptions, context: PluginContext) => Promise<void>;
12
13
  export declare const generateAttachmentsFiles: (writer: ClassicDataWriter, attachmentLinks: AttachmentLink[], contentFunction: (id: string) => Promise<ResultFile | undefined>) => Promise<Map<string, string>>;
13
14
  export declare const generateHistoryDataPoints: (writer: ClassicDataWriter, store: AllureStore) => Promise<Map<string, string>>;
14
15
  export declare const generateStaticFiles: (payload: ClassicOptions & {
@@ -1,9 +1,11 @@
1
+ import { randomUUID } from "node:crypto";
1
2
  import { readFile } from "node:fs/promises";
2
3
  import { createRequire } from "node:module";
3
4
  import { basename, join } from "node:path";
5
+ import { defaultChartsConfig } from "@allurereport/charts-api";
4
6
  import { compareBy, createBaseUrlScript, createFontLinkTag, createReportDataScript, stringifyForInlineScript, createScriptTag, createStylesLinkTag, incrementStatistic, nullsLast, ordinal, } from "@allurereport/core-api";
5
7
  import { createTreeByCategories, createTreeByLabels, processTree, } from "@allurereport/plugin-api";
6
- import { getPieChartValues } from "@allurereport/web-commons";
8
+ import { generateCharts, getPieChartValues } from "@allurereport/web-commons";
7
9
  import Handlebars from "handlebars";
8
10
  import { matchCategories } from "./categories.js";
9
11
  import { convertFixtureResult, convertTestResult } from "./converters.js";
@@ -85,7 +87,9 @@ export const generateTestResults = async (writer, store) => {
85
87
  let convertedTrs = [];
86
88
  for (const tr of allTr) {
87
89
  const trFixtures = related.fixturesByTrId.get(tr.id) ?? [];
88
- const convertedTrFixtures = trFixtures.map(convertFixtureResult);
90
+ const convertedTrFixtures = [...trFixtures]
91
+ .sort(nullsLast(compareBy("start", ordinal())))
92
+ .map(convertFixtureResult);
89
93
  const convertedTr = convertTestResult(tr);
90
94
  const { error, status, flaky } = convertedTr;
91
95
  const matchedCategories = matchCategories(categories, {
@@ -150,6 +154,13 @@ export const generatePieChart = async (writer, statistic) => {
150
154
  const chartData = getPieChartValues(statistic);
151
155
  await writer.writeWidget("allure_pie_chart.json", chartData);
152
156
  };
157
+ export const generateAllCharts = async (writer, store, options, context) => {
158
+ const { filter } = options;
159
+ const generatedChartsData = await generateCharts(defaultChartsConfig, store, context.reportName, randomUUID, filter);
160
+ if (Object.keys(generatedChartsData.general).length > 0) {
161
+ await writer.writeWidget("charts.json", generatedChartsData);
162
+ }
163
+ };
153
164
  export const generateAttachmentsFiles = async (writer, attachmentLinks, contentFunction) => {
154
165
  const result = new Map();
155
166
  for (const { id, ext, ...link } of attachmentLinks) {
package/dist/plugin.js CHANGED
@@ -12,7 +12,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
12
12
  var _ClassicPlugin_writer, _ClassicPlugin_generate;
13
13
  import { createPluginSummary, } from "@allurereport/plugin-api";
14
14
  import { preciseTreeLabels } from "@allurereport/plugin-api";
15
- import { generateAttachmentsFiles, generateEnvironmentJson, generateHistoryDataPoints, generatePieChart, generateStaticFiles, generateStatistic, generateTestResults, generateTree, generateTreeByCategories, } from "./generators.js";
15
+ import { generateAllCharts, generateAttachmentsFiles, generateEnvironmentJson, generateHistoryDataPoints, generatePieChart, generateStaticFiles, generateStatistic, generateTestResults, generateTree, generateTreeByCategories, } from "./generators.js";
16
16
  import { InMemoryReportDataWriter, ReportFileDataWriter } from "./writer.js";
17
17
  export class ClassicPlugin {
18
18
  constructor(options = {}) {
@@ -25,6 +25,7 @@ export class ClassicPlugin {
25
25
  const attachments = await store.allAttachments();
26
26
  await generateStatistic(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), statistic);
27
27
  await generatePieChart(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), statistic);
28
+ await generateAllCharts(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), store, this.options, context);
28
29
  const convertedTrs = await generateTestResults(__classPrivateFieldGet(this, _ClassicPlugin_writer, "f"), store);
29
30
  const treeLabels = preciseTreeLabels(!groupBy.length ? ["parentSuite", "suite", "subSuite"] : groupBy, convertedTrs, ({ labels }) => labels.map(({ name }) => name));
30
31
  const behaviorLabels = preciseTreeLabels(!groupBy.length ? ["epic", "feature", "story"] : groupBy, convertedTrs, ({ labels }) => labels.map(({ name }) => name));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allurereport/plugin-classic",
3
- "version": "3.14.3",
3
+ "version": "3.16.0",
4
4
  "description": "The classic version of Allure HTML report",
5
5
  "keywords": [
6
6
  "allure",
@@ -30,11 +30,12 @@
30
30
  "lint:fix": "oxlint --import-plugin --fix src test features stories"
31
31
  },
32
32
  "dependencies": {
33
- "@allurereport/core-api": "3.14.3",
34
- "@allurereport/plugin-api": "3.14.3",
35
- "@allurereport/web-awesome": "3.14.3",
36
- "@allurereport/web-classic": "3.14.3",
37
- "@allurereport/web-commons": "3.14.3",
33
+ "@allurereport/charts-api": "3.16.0",
34
+ "@allurereport/core-api": "3.16.0",
35
+ "@allurereport/plugin-api": "3.16.0",
36
+ "@allurereport/web-awesome": "3.16.0",
37
+ "@allurereport/web-classic": "3.16.0",
38
+ "@allurereport/web-commons": "3.16.0",
38
39
  "d3-shape": "^3.2.0",
39
40
  "handlebars": "^4.7.9",
40
41
  "markdown-it": "^14.2.0"