@allurereport/plugin-awesome 3.5.0 → 3.6.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
@@ -57,3 +57,26 @@ The plugin accepts the following options:
57
57
  | `ci` | CI data which will be rendered in the report | `{ type: "github" \| "jenkins", url: string, name: string }` | `undefined` |
58
58
  | `groupBy` | Grouping tests by labels or combining labels. By default, tests are grouped using the `titlePath` provided by the test framework. | `string` | `[]`(Grouping by `titlepath`) |
59
59
  | `appendTitlePath`| Special marker for `groupBy`. Forces a final grouping by `titlePath` after all label-based groups. | `boolean` | `false` |
60
+ | `stepTreeExpansion` | Default expansion policy for step trees in test details. | `"collapsed" \| "expand_failed_only" \| "expanded"` | `"expand_failed_only"` |
61
+
62
+ ### Step tree expansion
63
+
64
+ Use `stepTreeExpansion` to control how steps are expanded in test details:
65
+
66
+ - `collapsed` - all steps are collapsed by default
67
+ - `expand_failed_only` - only failed or broken context is expanded by default
68
+ - `expanded` - all steps are expanded by default
69
+
70
+ ```ts
71
+ import { defineConfig } from "allure";
72
+
73
+ export default defineConfig({
74
+ plugins: {
75
+ awesome: {
76
+ options: {
77
+ stepTreeExpansion: "expand_failed_only",
78
+ },
79
+ },
80
+ },
81
+ });
82
+ ```
@@ -78,7 +78,9 @@ export const generateTestResults = async (writer, store, trs, options = {}) => {
78
78
  for (const tr of trs) {
79
79
  const trFixtures = await store.fixturesByTrId(tr.id);
80
80
  const convertedTrFixtures = trFixtures.map(convertFixtureResult);
81
- const convertedTr = convertTestResult(tr, { hideLabels: options.hideLabels });
81
+ const convertedTr = convertTestResult(tr, {
82
+ hideLabels: options.hideLabels,
83
+ });
82
84
  convertedTr.history = (await store.historyByTrId(tr.id)) ?? [];
83
85
  convertedTr.retries = await store.retriesByTrId(tr.id);
84
86
  convertedTr.retriesCount = convertedTr.retries.length;
@@ -304,7 +306,7 @@ export const generateQualityGateResults = async (writer, qualityGateResults = {}
304
306
  await writer.writeWidget("quality-gate.json", qualityGateResults);
305
307
  };
306
308
  export const generateStaticFiles = async (payload) => {
307
- const { id, reportName = "Allure Report", reportLanguage = "en", singleFile, logo = "", theme = "auto", groupBy, reportFiles, reportDataFiles, reportUuid, allureVersion, layout = "base", defaultSection = "", ci, } = payload;
309
+ const { id, reportName = "Allure Report", reportLanguage = "en", singleFile, logo = "", theme = "auto", groupBy, reportFiles, reportDataFiles, reportUuid, allureVersion, layout = "base", defaultSection = "", ci, stepTreeExpansion, } = payload;
308
310
  const compile = Handlebars.compile(template);
309
311
  const manifest = await readTemplateManifest(payload.singleFile);
310
312
  const headTags = [];
@@ -352,6 +354,7 @@ export const generateStaticFiles = async (payload) => {
352
354
  allureVersion,
353
355
  sections,
354
356
  defaultSection,
357
+ stepTreeExpansion,
355
358
  };
356
359
  try {
357
360
  const html = compile({
@@ -395,9 +398,6 @@ export const generateTreeFilters = async (writer, testResults) => {
395
398
  }
396
399
  });
397
400
  }
398
- if (trTags.size === 0 && trCategories.size === 0) {
399
- return Promise.resolve();
400
- }
401
401
  const tags = Array.from(trTags).sort((a, b) => a.localeCompare(b));
402
402
  const categories = Array.from(trCategories).sort((a, b) => a.localeCompare(b));
403
403
  await writer.writeWidget("tree-filters.json", { tags, categories });
package/dist/model.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { ChartOptions } from "@allurereport/charts-api";
2
2
  import type { CiDescriptor, EnvironmentsConfig, TestResult } from "@allurereport/core-api";
3
+ import type { StepTreeExpansion } from "@allurereport/web-awesome";
3
4
  export type AwesomeOptions = {
4
5
  reportName?: string;
5
6
  singleFile?: boolean;
@@ -19,6 +20,7 @@ export type AwesomeOptions = {
19
20
  defaultSection?: string;
20
21
  publish?: boolean;
21
22
  appendTitlePath?: boolean;
23
+ stepTreeExpansion?: StepTreeExpansion;
22
24
  };
23
25
  export type TemplateManifest = Record<string, string>;
24
26
  export type AwesomePluginOptions = AwesomeOptions;
package/dist/plugin.js CHANGED
@@ -132,9 +132,7 @@ export class AwesomePlugin {
132
132
  await generateTreeFilters(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), convertedTrs);
133
133
  await generateEnvirontmentsList(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), store);
134
134
  await generateVariables(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), store);
135
- if (environmentItems?.length) {
136
- await generateEnvironmentJson(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), environmentItems);
137
- }
135
+ await generateEnvironmentJson(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), environmentItems ?? []);
138
136
  if (attachments?.length) {
139
137
  await generateAttachmentsFiles(__classPrivateFieldGet(this, _AwesomePlugin_writer, "f"), attachments, (id) => store.attachmentContentById(id));
140
138
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allurereport/plugin-awesome",
3
- "version": "3.5.0",
3
+ "version": "3.6.1",
4
4
  "description": "Allure Awesome Plugin – brand new HTML report with modern design and new features",
5
5
  "keywords": [
6
6
  "allure",
@@ -30,11 +30,11 @@
30
30
  "lint:fix": "oxlint --import-plugin --fix src test features stories"
31
31
  },
32
32
  "dependencies": {
33
- "@allurereport/charts-api": "3.5.0",
34
- "@allurereport/core-api": "3.5.0",
35
- "@allurereport/plugin-api": "3.5.0",
36
- "@allurereport/web-awesome": "3.5.0",
37
- "@allurereport/web-commons": "3.5.0",
33
+ "@allurereport/charts-api": "3.6.1",
34
+ "@allurereport/core-api": "3.6.1",
35
+ "@allurereport/plugin-api": "3.6.1",
36
+ "@allurereport/web-awesome": "3.6.1",
37
+ "@allurereport/web-commons": "3.6.1",
38
38
  "d3-shape": "^3.2.0",
39
39
  "handlebars": "^4.7.9",
40
40
  "markdown-it": "^14.1.0"