@allurereport/web-awesome 3.0.0-beta.19 → 3.0.0-beta.21

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.
Files changed (73) hide show
  1. package/dist/multi/173.app-8636debb6304d259782b.js +1 -0
  2. package/dist/multi/174.app-8636debb6304d259782b.js +1 -0
  3. package/dist/multi/252.app-8636debb6304d259782b.js +1 -0
  4. package/dist/multi/282.app-8636debb6304d259782b.js +1 -0
  5. package/dist/multi/29.app-8636debb6304d259782b.js +1 -0
  6. package/dist/multi/416.app-8636debb6304d259782b.js +1 -0
  7. package/dist/multi/527.app-8636debb6304d259782b.js +1 -0
  8. package/dist/multi/600.app-8636debb6304d259782b.js +1 -0
  9. package/dist/multi/605.app-8636debb6304d259782b.js +1 -0
  10. package/dist/multi/638.app-8636debb6304d259782b.js +1 -0
  11. package/dist/multi/672.app-8636debb6304d259782b.js +1 -0
  12. package/dist/multi/686.app-8636debb6304d259782b.js +1 -0
  13. package/dist/multi/725.app-8636debb6304d259782b.js +1 -0
  14. package/dist/multi/741.app-8636debb6304d259782b.js +1 -0
  15. package/dist/multi/755.app-8636debb6304d259782b.js +1 -0
  16. package/dist/multi/894.app-8636debb6304d259782b.js +1 -0
  17. package/dist/multi/943.app-8636debb6304d259782b.js +1 -0
  18. package/dist/multi/980.app-8636debb6304d259782b.js +1 -0
  19. package/dist/multi/app-8636debb6304d259782b.js +2 -0
  20. package/dist/multi/manifest.json +20 -20
  21. package/dist/multi/{styles-88a1cf6726b2a478108e.css → styles-5b8b40733448845bbda5.css} +1 -0
  22. package/dist/single/app-5b7416b134cb09197246.js +2 -0
  23. package/dist/single/manifest.json +1 -1
  24. package/package.json +6 -5
  25. package/src/components/Charts/index.tsx +29 -2
  26. package/src/components/MainReport/index.tsx +15 -0
  27. package/src/components/ReportQualityGateResults/index.tsx +42 -0
  28. package/src/components/ReportQualityGateResults/styles.scss +44 -0
  29. package/src/components/TestResult/TrError/index.tsx +16 -6
  30. package/src/index.tsx +2 -0
  31. package/src/locales/az.json +4 -2
  32. package/src/locales/de.json +3 -1
  33. package/src/locales/en.json +3 -1
  34. package/src/locales/es.json +4 -2
  35. package/src/locales/fr.json +3 -1
  36. package/src/locales/he.json +3 -1
  37. package/src/locales/hy.json +7 -5
  38. package/src/locales/it.json +3 -1
  39. package/src/locales/ja.json +7 -5
  40. package/src/locales/ka.json +3 -1
  41. package/src/locales/kr.json +6 -4
  42. package/src/locales/nl.json +4 -2
  43. package/src/locales/pl.json +5 -3
  44. package/src/locales/pt.json +5 -3
  45. package/src/locales/ru.json +4 -2
  46. package/src/locales/sv.json +4 -2
  47. package/src/locales/tr.json +5 -3
  48. package/src/locales/zh.json +5 -3
  49. package/src/stores/chart.ts +6 -5
  50. package/src/stores/qualityGate.ts +28 -0
  51. package/webpack.config.js +5 -0
  52. package/dist/multi/173.app-87488b008bf93bf0b234.js +0 -1
  53. package/dist/multi/174.app-87488b008bf93bf0b234.js +0 -1
  54. package/dist/multi/252.app-87488b008bf93bf0b234.js +0 -1
  55. package/dist/multi/282.app-87488b008bf93bf0b234.js +0 -1
  56. package/dist/multi/29.app-87488b008bf93bf0b234.js +0 -1
  57. package/dist/multi/416.app-87488b008bf93bf0b234.js +0 -1
  58. package/dist/multi/527.app-87488b008bf93bf0b234.js +0 -1
  59. package/dist/multi/600.app-87488b008bf93bf0b234.js +0 -1
  60. package/dist/multi/605.app-87488b008bf93bf0b234.js +0 -1
  61. package/dist/multi/638.app-87488b008bf93bf0b234.js +0 -1
  62. package/dist/multi/672.app-87488b008bf93bf0b234.js +0 -1
  63. package/dist/multi/686.app-87488b008bf93bf0b234.js +0 -1
  64. package/dist/multi/725.app-87488b008bf93bf0b234.js +0 -1
  65. package/dist/multi/741.app-87488b008bf93bf0b234.js +0 -1
  66. package/dist/multi/755.app-87488b008bf93bf0b234.js +0 -1
  67. package/dist/multi/894.app-87488b008bf93bf0b234.js +0 -1
  68. package/dist/multi/943.app-87488b008bf93bf0b234.js +0 -1
  69. package/dist/multi/980.app-87488b008bf93bf0b234.js +0 -1
  70. package/dist/multi/app-87488b008bf93bf0b234.js +0 -2
  71. package/dist/single/app-af34e3cec116175b6d9a.js +0 -2
  72. /package/dist/multi/{app-87488b008bf93bf0b234.js.LICENSE.txt → app-8636debb6304d259782b.js.LICENSE.txt} +0 -0
  73. /package/dist/single/{app-af34e3cec116175b6d9a.js.LICENSE.txt → app-5b7416b134cb09197246.js.LICENSE.txt} +0 -0
@@ -1,3 +1,3 @@
1
1
  {
2
- "main.js": "app-af34e3cec116175b6d9a.js"
2
+ "main.js": "app-5b7416b134cb09197246.js"
3
3
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allurereport/web-awesome",
3
- "version": "3.0.0-beta.19",
3
+ "version": "3.0.0-beta.21",
4
4
  "description": "The static files for Allure Awesome Report",
5
5
  "keywords": [
6
6
  "allure",
@@ -31,10 +31,11 @@
31
31
  "IE 11"
32
32
  ],
33
33
  "dependencies": {
34
- "@allurereport/core-api": "3.0.0-beta.19",
35
- "@allurereport/plugin-api": "3.0.0-beta.19",
36
- "@allurereport/web-commons": "3.0.0-beta.19",
37
- "@allurereport/web-components": "3.0.0-beta.19",
34
+ "@allurereport/charts-api": "3.0.0-beta.21",
35
+ "@allurereport/core-api": "3.0.0-beta.21",
36
+ "@allurereport/plugin-api": "3.0.0-beta.21",
37
+ "@allurereport/web-commons": "3.0.0-beta.21",
38
+ "@allurereport/web-components": "3.0.0-beta.21",
38
39
  "@preact/signals": "^1.3.0",
39
40
  "clsx": "^2.1.1",
40
41
  "d3-shape": "^3.2.0",
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
2
- import { ChartType, capitalize } from "@allurereport/core-api";
2
+ import { BarChartType, ChartType } from "@allurereport/charts-api";
3
+ import { capitalize } from "@allurereport/core-api";
3
4
  import { type UIChartData } from "@allurereport/web-commons";
4
5
  import {
5
6
  BarChartWidget,
@@ -9,6 +10,7 @@ import {
9
10
  HeatMapWidget,
10
11
  Loadable,
11
12
  PageLoader,
13
+ StabilityRateDistributionWidget,
12
14
  SuccessRatePieChart,
13
15
  TreeMapChartWidget,
14
16
  TrendChartWidget,
@@ -16,6 +18,7 @@ import {
16
18
  } from "@allurereport/web-components";
17
19
  import { useEffect } from "preact/hooks";
18
20
  import { chartsStore, fetchChartsData } from "@/stores/chart";
21
+ import { currentEnvironment } from "@/stores/env";
19
22
  import { useI18n } from "@/stores/locale";
20
23
  import * as styles from "./styles.scss";
21
24
 
@@ -57,6 +60,25 @@ const getChartWidgetByType = (
57
60
  const type = t(`bar.type.${chartData.dataType}`);
58
61
  const title = chartData.title ?? t("bar.title", { type: capitalize(type) });
59
62
 
63
+ if (chartData.dataType === BarChartType.StabilityRateDistribution) {
64
+ return (
65
+ <StabilityRateDistributionWidget
66
+ title={title}
67
+ mode={chartData.mode}
68
+ data={chartData.data}
69
+ keys={chartData.keys}
70
+ indexBy={chartData.indexBy}
71
+ colors={chartData.colors}
72
+ groupMode={chartData.groupMode}
73
+ xAxisConfig={chartData.xAxisConfig}
74
+ yAxisConfig={chartData.yAxisConfig}
75
+ layout={chartData.layout}
76
+ threshold={chartData.threshold}
77
+ translations={{ "no-results": empty("no-results") }}
78
+ />
79
+ );
80
+ }
81
+
60
82
  return (
61
83
  <BarChartWidget
62
84
  title={title}
@@ -66,6 +88,9 @@ const getChartWidgetByType = (
66
88
  indexBy={chartData.indexBy}
67
89
  colors={chartData.colors}
68
90
  groupMode={chartData.groupMode}
91
+ xAxisConfig={chartData.xAxisConfig}
92
+ yAxisConfig={chartData.yAxisConfig}
93
+ layout={chartData.layout}
69
94
  translations={{ "no-results": empty("no-results") }}
70
95
  />
71
96
  );
@@ -114,7 +139,9 @@ export const Charts = () => {
114
139
  source={chartsStore}
115
140
  renderLoader={() => <PageLoader />}
116
141
  renderData={(data) => {
117
- const charts = Object.entries(data).map(([chartId, value]) => {
142
+ const currentChartsData = currentEnvironment.value ? data.byEnv[currentEnvironment.value] : data.general;
143
+
144
+ const charts = Object.entries(currentChartsData).map(([chartId, value]) => {
118
145
  const chartWidget = getChartWidgetByType(value, { t, empty });
119
146
 
120
147
  return (
@@ -10,10 +10,13 @@ import { reportStatsStore } from "@/stores";
10
10
  import { useI18n } from "@/stores";
11
11
  import { globalsStore } from "@/stores/globals";
12
12
  import { isSplitMode } from "@/stores/layout";
13
+ import { qualityGateStore } from "@/stores/qualityGate";
14
+ import { ReportQualityGateResults } from "../ReportQualityGateResults";
13
15
  import * as styles from "./styles.scss";
14
16
 
15
17
  enum ReportRootTab {
16
18
  Results = "results",
19
+ QualityGate = "qualityGate",
17
20
  GlobalAttachments = "globalAttachments",
18
21
  GlobalErrors = "globalErrors",
19
22
  }
@@ -27,6 +30,7 @@ const viewsByTab = {
27
30
  ),
28
31
  [ReportRootTab.GlobalAttachments]: () => <ReportGlobalAttachments />,
29
32
  [ReportRootTab.GlobalErrors]: () => <ReportGlobalErrors />,
33
+ [ReportRootTab.QualityGate]: () => <ReportQualityGateResults />,
30
34
  };
31
35
 
32
36
  const MainReportContent = () => {
@@ -55,6 +59,17 @@ const MainReport = () => {
55
59
  </NavTab>
56
60
  )}
57
61
  />
62
+ <Loadable
63
+ source={qualityGateStore}
64
+ renderData={(results) => (
65
+ <>
66
+ <NavTab id={ReportRootTab.QualityGate}>
67
+ {t("qualityGates")}{" "}
68
+ <Counter status={results.length > 0 ? "failed" : undefined} count={results.length} />
69
+ </NavTab>
70
+ </>
71
+ )}
72
+ />
58
73
  <Loadable
59
74
  source={globalsStore}
60
75
  renderData={({ attachments = [], errors = [] }) => (
@@ -0,0 +1,42 @@
1
+ import { Loadable, SvgIcon, Text, allureIcons } from "@allurereport/web-components";
2
+ import { TrError } from "@/components/TestResult/TrError";
3
+ import { useI18n } from "@/stores";
4
+ import { qualityGateStore } from "@/stores/qualityGate";
5
+ import * as styles from "./styles.scss";
6
+
7
+ export const ReportQualityGateResults = () => {
8
+ const { t } = useI18n("empty");
9
+
10
+ return (
11
+ <Loadable
12
+ source={qualityGateStore}
13
+ renderData={(results) => {
14
+ if (!results.length) {
15
+ return <div className={styles["report-quality-gate-results-empty"]}>{t("no-quality-gate-results")}</div>;
16
+ }
17
+
18
+ return (
19
+ <ul className={styles["report-quality-gate-results"]}>
20
+ {results.map((result) => (
21
+ <li key={result.rule} data-testid="report-quality-gate-result">
22
+ <div className={styles["report-quality-gate-result"]}>
23
+ <SvgIcon id={allureIcons.solidXCircle} className={styles["report-quality-gate-result-icon"]} />
24
+ <div className={styles["report-quality-gate-result-content"]}>
25
+ <Text tag="p" size="l" type="ui" bold data-testid="report-quality-gate-result-rule">
26
+ {result.rule}
27
+ </Text>
28
+ <TrError
29
+ className={styles["report-quality-gate-result-error"]}
30
+ message={result.message}
31
+ data-testid="report-quality-gate-result-message"
32
+ />
33
+ </div>
34
+ </div>
35
+ </li>
36
+ ))}
37
+ </ul>
38
+ );
39
+ }}
40
+ />
41
+ );
42
+ };
@@ -0,0 +1,44 @@
1
+ @import "~@allurereport/web-components/mixins.scss";
2
+
3
+ .report-quality-gate-results {
4
+ padding: 20px 0;
5
+
6
+ & > li + li {
7
+ margin-top: 12px;
8
+ }
9
+ }
10
+
11
+ .report-quality-gate-results-empty {
12
+ display: flex;
13
+ padding: 48px 0;
14
+ width: 100%;
15
+ justify-content: center;
16
+ }
17
+
18
+ .report-quality-gate-result {
19
+ display: flex;
20
+ align-items: flex-start;
21
+ gap: 0 8px;
22
+
23
+ b {
24
+ font-weight: 700;
25
+ }
26
+ }
27
+
28
+ .report-quality-gate-result-icon {
29
+ flex: 0 0 auto;
30
+ margin-top: 3px;
31
+ color: var(--bg-support-capella);
32
+ }
33
+
34
+ .report-quality-gate-result-content {
35
+ flex: 1 1 auto;
36
+
37
+ & > * + * {
38
+ margin-top: 4px;
39
+ }
40
+ }
41
+
42
+ .report-quality-gate-result-error {
43
+ margin-top: 8px;
44
+ }
@@ -26,27 +26,36 @@ const TrErrorTrace = ({ trace }: { trace: string }) => {
26
26
  );
27
27
  };
28
28
 
29
- export const TrError: FunctionalComponent<TestError & { status?: TestStatus }> = ({
30
- message,
29
+ export const TrError: FunctionalComponent<TestError & { className?: string; status?: TestStatus }> = ({
30
+ className,
31
+ message = "",
31
32
  trace,
32
33
  actual,
33
34
  expected,
34
35
  status,
36
+ ...rest
35
37
  }) => {
36
38
  const [isOpen, setIsOpen] = useState(false);
37
39
  const { t } = useI18n("ui");
38
40
  const { t: tooltip } = useI18n("controls");
39
41
  const { t: empty } = useI18n("empty");
40
-
41
42
  const openDiff = () =>
42
43
  openModal({
43
44
  title: tooltip("comparison"),
44
45
  data: { actual, expected },
45
46
  component: <TrDiff actual={actual} expected={expected} />,
46
47
  });
48
+ const sanitizedMessage = ansiToHTML(message, {
49
+ fg: "var(--on-text-primary)",
50
+ colors: {},
51
+ });
47
52
 
48
53
  return (
49
- <div data-testid="test-result-error" className={clsx(styles["test-result-error"], styles[`tr-status-${status}`])}>
54
+ <div
55
+ data-testid="test-result-error"
56
+ className={clsx(styles["test-result-error"], styles[`tr-status-${status}`], className)}
57
+ {...rest}
58
+ >
50
59
  {message ? (
51
60
  <>
52
61
  <div data-testid="test-result-error-header" className={styles["test-result-error-header"]}>
@@ -71,7 +80,8 @@ export const TrError: FunctionalComponent<TestError & { status?: TestStatus }> =
71
80
  </div>
72
81
  <div className={styles["test-result-error-message"]} onClick={() => setIsOpen(!isOpen)}>
73
82
  <Code data-testid="test-result-error-message" size={"s"}>
74
- <pre>{message}</pre>
83
+ {/* eslint-disable-next-line react/no-danger */}
84
+ <pre dangerouslySetInnerHTML={{ __html: sanitizedMessage }} />
75
85
  </Code>
76
86
  </div>
77
87
  </>
@@ -88,7 +98,7 @@ export const TrError: FunctionalComponent<TestError & { status?: TestStatus }> =
88
98
  onClick={openDiff}
89
99
  />
90
100
  )}
91
- {isOpen && Boolean(trace.length) && <TrErrorTrace trace={trace} />}
101
+ {isOpen && Boolean(trace?.length) && <TrErrorTrace trace={trace} />}
92
102
  </div>
93
103
  );
94
104
  };
package/src/index.tsx CHANGED
@@ -21,6 +21,7 @@ import { currentSection, getSection } from "@/stores/sections";
21
21
  import { fetchTestResult, fetchTestResultNav } from "@/stores/testResults";
22
22
  import { fetchEnvTreesData } from "@/stores/tree";
23
23
  import { isMac } from "@/utils/isMac";
24
+ import { fetchQualityGateResults } from "./stores/qualityGate";
24
25
  import * as styles from "./styles.scss";
25
26
 
26
27
  const Loader = () => {
@@ -44,6 +45,7 @@ const App = () => {
44
45
  fetchEnvironments,
45
46
  fetchEnvInfo,
46
47
  fetchGlobals,
48
+ fetchQualityGateResults,
47
49
  ];
48
50
 
49
51
  if (globalThis) {
@@ -17,10 +17,11 @@
17
17
  "new": "Yeni testlər"
18
18
  },
19
19
  "tabs": {
20
- "total": "Bütün",
20
+ "total": "Hamısı",
21
21
  "results": "Nəticələr",
22
22
  "globalAttachments": "Qlobal Əlavələr",
23
- "globalErrors": "Qlobal Səhvlər"
23
+ "globalErrors": "Qlobal Xətalar",
24
+ "qualityGates": "Keyfiyyət Darvazaları"
24
25
  },
25
26
  "search": {
26
27
  "search": "Axtarış",
@@ -80,6 +81,7 @@
80
81
  "clear-filters": "Filtrləri təmizlə",
81
82
  "no-attachments-results": "Əlavə məlumatı mövcud deyil",
82
83
  "no-global-errors-results": "Qlobal səhvlər haqqında məlumat mövcud deyil",
84
+ "no-quality-gate-results": "Keyfiyyət darvazası nəticələri mövcud deyil",
83
85
  "no-history-results": "Tarixçə məlumatı mövcud deyil",
84
86
  "no-retries-results": "Təkrar məlumatı mövcud deyil",
85
87
  "no-test-steps-results": "Test addımları haqqında məlumat mövcud deyil",
@@ -20,7 +20,8 @@
20
20
  "total": "Alle",
21
21
  "results": "Ergebnisse",
22
22
  "globalAttachments": "Globale Anhänge",
23
- "globalErrors": "Globale Fehler"
23
+ "globalErrors": "Globale Fehler",
24
+ "qualityGates": "Qualitätstore"
24
25
  },
25
26
  "search": {
26
27
  "search": "Suchen",
@@ -80,6 +81,7 @@
80
81
  "clear-filters": "Filter zurücksetzen",
81
82
  "no-attachments-results": "Keine Anhängeinformationen verfügbar",
82
83
  "no-global-errors-results": "Keine globalen Fehlerinformationen verfügbar",
84
+ "no-quality-gate-results": "Keine Qualitätstor-Ergebnisse verfügbar",
83
85
  "no-history-results": "Keine Verlaufsinformationen verfügbar",
84
86
  "no-retries-results": "Keine Wiederholungsinformationen verfügbar",
85
87
  "no-test-steps-results": "Keine Informationen zu Testschritten verfügbar",
@@ -20,7 +20,8 @@
20
20
  "total": "All",
21
21
  "results": "Results",
22
22
  "globalAttachments": "Global Attachments",
23
- "globalErrors": "Global Errors"
23
+ "globalErrors": "Global Errors",
24
+ "qualityGates": "Quality Gates"
24
25
  },
25
26
  "search": {
26
27
  "search": "Search",
@@ -80,6 +81,7 @@
80
81
  "clear-filters": "Clear filters",
81
82
  "no-attachments-results": "No attachments information available",
82
83
  "no-global-errors-results": "No global errors information available",
84
+ "no-quality-gate-results": "No quality gate results available",
83
85
  "no-history-results": "No history information available",
84
86
  "no-retries-results": "No retries information available",
85
87
  "no-test-steps-results": "No test steps information available",
@@ -17,10 +17,11 @@
17
17
  "new": "Pruebas nuevas"
18
18
  },
19
19
  "tabs": {
20
- "total": "Todo",
20
+ "total": "Todos",
21
21
  "results": "Resultados",
22
22
  "globalAttachments": "Adjuntos Globales",
23
- "globalErrors": "Errores Globales"
23
+ "globalErrors": "Errores Globales",
24
+ "qualityGates": "Puertas de Calidad"
24
25
  },
25
26
  "search": {
26
27
  "search": "Buscar",
@@ -80,6 +81,7 @@
80
81
  "clear-filters": "Limpiar filtros",
81
82
  "no-attachments-results": "No hay información de adjuntos disponible",
82
83
  "no-global-errors-results": "No hay información de errores globales disponible",
84
+ "no-quality-gate-results": "No hay resultados de puertas de calidad disponibles",
83
85
  "no-history-results": "No hay información de historial disponible",
84
86
  "no-retries-results": "No hay información de reintentos disponible",
85
87
  "no-test-steps-results": "No hay información disponible sobre los pasos de prueba",
@@ -20,7 +20,8 @@
20
20
  "total": "Tous",
21
21
  "results": "Résultats",
22
22
  "globalAttachments": "Pièces jointes globales",
23
- "globalErrors": "Erreurs globales"
23
+ "globalErrors": "Erreurs globales",
24
+ "qualityGates": "Portails de Qualité"
24
25
  },
25
26
  "search": {
26
27
  "search": "Recherche",
@@ -80,6 +81,7 @@
80
81
  "clear-filters": "Effacer les filtres",
81
82
  "no-attachments-results": "Aucune information sur les pièces jointes disponible",
82
83
  "no-global-errors-results": "Aucune information sur les erreurs globales disponible",
84
+ "no-quality-gate-results": "Aucun résultat de portail de qualité disponible",
83
85
  "no-history-results": "Aucune information sur l'historique disponible",
84
86
  "no-retries-results": "Aucune information sur les réessais disponible",
85
87
  "no-test-steps-results": "Aucune information sur les étapes de test disponible",
@@ -20,7 +20,8 @@
20
20
  "total": "הכל",
21
21
  "results": "תוצאות",
22
22
  "globalAttachments": "קבצים מצורפים גלובליים",
23
- "globalErrors": "שגיאות גלובליות"
23
+ "globalErrors": "שגיאות גלובליות",
24
+ "qualityGates": "שערי איכות"
24
25
  },
25
26
  "search": {
26
27
  "search": "חפש",
@@ -80,6 +81,7 @@
80
81
  "clear-filters": "נקה מסננים",
81
82
  "no-attachments-results": "לא נמצאה מידע על קבצים מצורפים",
82
83
  "no-global-errors-results": "לא נמצא מידע על שגיאות גלובליות",
84
+ "no-quality-gate-results": "לא זמינים תוצאות שערי איכות",
83
85
  "no-history-results": "לא נמצאה מידע על היסטוריה",
84
86
  "no-retries-results": "לא נמצאה מידע על נסיונות חוזרים",
85
87
  "no-test-steps-results": "אין מידע על שלבי הבדיקה",
@@ -17,10 +17,11 @@
17
17
  "new": "Նոր թեստեր"
18
18
  },
19
19
  "tabs": {
20
- "total": "Բոլոր",
20
+ "total": "Բոլորը",
21
21
  "results": "Արդյունքներ",
22
22
  "globalAttachments": "Գլոբալ կցորդներ",
23
- "globalErrors": "Գլոբալ սխալներ"
23
+ "globalErrors": "Գլոբալ սխալներ",
24
+ "qualityGates": "Որակի դարպասներ"
24
25
  },
25
26
  "search": {
26
27
  "search": "Որոնում",
@@ -78,9 +79,10 @@
78
79
  "no-tests-found": "Արդյունքներ չեն գտնվել",
79
80
  "no-message-provided": "Հաղորդագրություն չի տրամադրվել",
80
81
  "clear-filters": "Մաքրել ֆիլտրները",
81
- "no-attachments-results": "Կցորդների մասին տեղեկություններ չկան",
82
- "no-global-errors-results": "Գլոբալ սխալների մասին տեղեկություններ չկան",
83
- "no-history-results": "Պատմության մասին տեղեկություններ չկան",
82
+ "no-attachments-results": "Կցորդների մասին տեղեկություններ հասանելի չեն",
83
+ "no-global-errors-results": "Գլոբալ սխալների մասին տեղեկություններ հասանելի չեն",
84
+ "no-quality-gate-results": "Որակի դարպասների արդյունքներ հասանելի չեն",
85
+ "no-history-results": "Պատմության մասին տեղեկություններ հասանելի չեն",
84
86
  "no-retries-results": "Կրկնությունների մասին տեղեկություններ չկան",
85
87
  "no-test-steps-results": "Թեստի քայլերի մասին տեղեկատվությունը հասանելի չէ։",
86
88
  "no-test-case-results": "Թեստի դեպքերի արդյունքներ չկան։",
@@ -20,7 +20,8 @@
20
20
  "total": "Tutti",
21
21
  "results": "Risultati",
22
22
  "globalAttachments": "Allegati Globali",
23
- "globalErrors": "Errori Globali"
23
+ "globalErrors": "Errori Globali",
24
+ "qualityGates": "Porte di Qualità"
24
25
  },
25
26
  "search": {
26
27
  "search": "Cerca",
@@ -80,6 +81,7 @@
80
81
  "clear-filters": "Cancella filtri",
81
82
  "no-attachments-results": "Nessuna informazione sugli allegati disponibile",
82
83
  "no-global-errors-results": "Nessuna informazione sugli errori globali disponibile",
84
+ "no-quality-gate-results": "Nessun risultato delle porte di qualità disponibile",
83
85
  "no-history-results": "Nessuna informazione sulla cronologia disponibile",
84
86
  "no-retries-results": "Nessuna informazione sui ritentativi disponibile",
85
87
  "no-test-steps-results": "Nessuna informazione disponibile sui passaggi del test",
@@ -20,7 +20,8 @@
20
20
  "total": "すべて",
21
21
  "results": "結果",
22
22
  "globalAttachments": "グローバル添付ファイル",
23
- "globalErrors": "グローバルエラー"
23
+ "globalErrors": "グローバルエラー",
24
+ "qualityGates": "品質ゲート"
24
25
  },
25
26
  "search": {
26
27
  "search": "検索",
@@ -77,10 +78,11 @@
77
78
  "no-results": "結果なし",
78
79
  "no-tests-found": "結果が見つかりません",
79
80
  "no-message-provided": "メッセージが提供されていません",
80
- "clear-filters": "フィルターをクリア",
81
- "no-attachments-results": "添付ファイル情報が利用できません",
82
- "no-global-errors-results": "グローバルエラー情報が利用できません",
83
- "no-history-results": "履歴情報が利用できません",
81
+ "clear-filters": "フィルタをクリア",
82
+ "no-attachments-results": "添付ファイル情報がありません",
83
+ "no-global-errors-results": "グローバルエラー情報がありません",
84
+ "no-quality-gate-results": "品質ゲートの結果がありません",
85
+ "no-history-results": "履歴情報がありません",
84
86
  "no-retries-results": "再試行情報が利用できません",
85
87
  "no-test-steps-results": "テスト手順の情報は利用できません",
86
88
  "no-test-case-results": "テストケースの結果がありません",
@@ -20,7 +20,8 @@
20
20
  "total": "ყველა",
21
21
  "results": "შედეგები",
22
22
  "globalAttachments": "გლობალური დანართები",
23
- "globalErrors": "გლობალური შეცდომები"
23
+ "globalErrors": "გლობალური შეცდომები",
24
+ "qualityGates": "ხარისხის კარიბჭეები"
24
25
  },
25
26
  "search": {
26
27
  "search": "ძებნა",
@@ -80,6 +81,7 @@
80
81
  "clear-filters": "ფილტრების გასუფთავება",
81
82
  "no-attachments-results": "დანართების ინფორმაცია არ არის ხელმისაწვდომი",
82
83
  "no-global-errors-results": "გლობალური შეცდომების ინფორმაცია არ არის ხელმისაწვდომი",
84
+ "no-quality-gate-results": "ხარისხის კარიბჭის შედეგები არ არის ხელმისაწვდომი",
83
85
  "no-history-results": "ისტორიის ინფორმაცია არ არის ხელმისაწვდომი",
84
86
  "no-retries-results": "ხელახალი ცდების ინფორმაცია არ არის ხელმისაწვდომი",
85
87
  "no-test-steps-results": "ტესტის ნაბიჯების ინფორმაცია ხელმისაწვდომი არ არის",
@@ -17,10 +17,11 @@
17
17
  "new": "새로운 테스트들"
18
18
  },
19
19
  "tabs": {
20
- "total": "전체",
20
+ "total": "모두",
21
21
  "results": "결과",
22
- "globalAttachments": "글로벌 첨부파일",
23
- "globalErrors": "글로벌 오류"
22
+ "globalAttachments": "전역 첨부파일",
23
+ "globalErrors": "전역 오류",
24
+ "qualityGates": "품질 게이트"
24
25
  },
25
26
  "search": {
26
27
  "search": "검색",
@@ -79,7 +80,8 @@
79
80
  "no-message-provided": "메시지가 제공되지 않음",
80
81
  "clear-filters": "필터 지우기",
81
82
  "no-attachments-results": "첨부파일 정보를 사용할 수 없습니다",
82
- "no-global-errors-results": "No global errors information available",
83
+ "no-global-errors-results": "전역 오류 정보를 사용할 수 없습니다",
84
+ "no-quality-gate-results": "품질 게이트 결과를 사용할 수 없습니다",
83
85
  "no-history-results": "기록 정보를 사용할 수 없습니다",
84
86
  "no-retries-results": "재시도 정보를 사용할 수 없습니다",
85
87
  "no-test-steps-results": "테스트 단계 정보가 없습니다",
@@ -20,7 +20,8 @@
20
20
  "total": "Alle",
21
21
  "results": "Resultaten",
22
22
  "globalAttachments": "Globale Bijlagen",
23
- "globalErrors": "Globale Fouten"
23
+ "globalErrors": "Globale Fouten",
24
+ "qualityGates": "Kwaliteitspoorten"
24
25
  },
25
26
  "search": {
26
27
  "search": "Zoeken",
@@ -79,7 +80,8 @@
79
80
  "no-message-provided": "Geen bericht opgegeven",
80
81
  "clear-filters": "Filters wissen",
81
82
  "no-attachments-results": "Geen bijlageninformatie beschikbaar",
82
- "no-global-errors-results": "No global errors information available",
83
+ "no-global-errors-results": "Geen globale fouteninformatie beschikbaar",
84
+ "no-quality-gate-results": "Geen kwaliteitspoort resultaten beschikbaar",
83
85
  "no-history-results": "Geen geschiedenisinformatie beschikbaar",
84
86
  "no-retries-results": "Geen herhalingsinformatie beschikbaar",
85
87
  "no-test-steps-results": "Geen informatie over teststappen beschikbaar",
@@ -17,10 +17,11 @@
17
17
  "new": "Nowe testy"
18
18
  },
19
19
  "tabs": {
20
- "total": "Wszytkie",
20
+ "total": "Wszystkie",
21
21
  "results": "Wyniki",
22
22
  "globalAttachments": "Globalne Załączniki",
23
- "globalErrors": "Globalne Błędy"
23
+ "globalErrors": "Globalne Błędy",
24
+ "qualityGates": "Bramy Jakości"
24
25
  },
25
26
  "search": {
26
27
  "search": "Poszukiwanie",
@@ -79,7 +80,8 @@
79
80
  "no-message-provided": "Nie podano komunikatu",
80
81
  "clear-filters": "Wyczyść filtry",
81
82
  "no-attachments-results": "Brak dostępnych informacji o załącznikach",
82
- "no-global-errors-results": "No global errors information available",
83
+ "no-global-errors-results": "Brak dostępnych informacji o błędach globalnych",
84
+ "no-quality-gate-results": "Brak dostępnych wyników bram jakości",
83
85
  "no-history-results": "Brak dostępnych informacji o historii",
84
86
  "no-retries-results": "Brak dostępnych informacji o ponownych próbach",
85
87
  "no-test-steps-results": "Brak dostępnych informacji o krokach testowych",
@@ -17,10 +17,11 @@
17
17
  "new": "Testes novos"
18
18
  },
19
19
  "tabs": {
20
- "total": "Tudo",
20
+ "total": "Todos",
21
21
  "results": "Resultados",
22
22
  "globalAttachments": "Anexos Globais",
23
- "globalErrors": "Erros Globais"
23
+ "globalErrors": "Erros Globais",
24
+ "qualityGates": "Portões de Qualidade"
24
25
  },
25
26
  "search": {
26
27
  "search": "Pesquisar",
@@ -79,7 +80,8 @@
79
80
  "no-message-provided": "Nenhuma mensagem fornecida",
80
81
  "clear-filters": "Limpar filtros",
81
82
  "no-attachments-results": "Nenhuma informação de anexos disponível",
82
- "no-global-errors-results": "No global errors information available",
83
+ "no-global-errors-results": "Nenhuma informação de erros globais disponível",
84
+ "no-quality-gate-results": "Nenhum resultado de portões de qualidade disponível",
83
85
  "no-history-results": "Nenhuma informação de histórico disponível",
84
86
  "no-retries-results": "Nenhuma informação de repetições disponível",
85
87
  "no-test-steps-results": "Nenhuma informação disponível sobre as etapas do teste",
@@ -19,8 +19,9 @@
19
19
  "tabs": {
20
20
  "total": "Все",
21
21
  "results": "Результаты",
22
- "globalAttachments": "Глобальные вложения",
23
- "globalErrors": "Глобальные ошибки"
22
+ "globalAttachments": "Глобальные Вложения",
23
+ "globalErrors": "Глобальные Ошибки",
24
+ "qualityGates": "Ворота Качества"
24
25
  },
25
26
  "search": {
26
27
  "search": "Поиск",
@@ -80,6 +81,7 @@
80
81
  "clear-filters": "Очистить фильтры",
81
82
  "no-attachments-results": "Информация о вложениях отсутствует",
82
83
  "no-global-errors-results": "Информация о глобальных ошибках отсутствует",
84
+ "no-quality-gate-results": "Информация о воротах качества отсутствует",
83
85
  "no-history-results": "Информация об истории отсутствует",
84
86
  "no-retries-results": "Информация о перезапусках отсутствует",
85
87
  "no-test-steps-results": "Нет информации о шагах тестирования",