@allurereport/web-awesome 3.0.0-beta.14 → 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.
Files changed (106) hide show
  1. package/dist/multi/173.app-1e7b32b35927de455ae2.js +1 -0
  2. package/dist/multi/174.app-1e7b32b35927de455ae2.js +1 -0
  3. package/dist/multi/252.app-1e7b32b35927de455ae2.js +1 -0
  4. package/dist/multi/282.app-1e7b32b35927de455ae2.js +1 -0
  5. package/dist/multi/29.app-1e7b32b35927de455ae2.js +1 -0
  6. package/dist/multi/416.app-1e7b32b35927de455ae2.js +1 -0
  7. package/dist/multi/527.app-1e7b32b35927de455ae2.js +1 -0
  8. package/dist/multi/600.app-1e7b32b35927de455ae2.js +1 -0
  9. package/dist/multi/605.app-1e7b32b35927de455ae2.js +1 -0
  10. package/dist/multi/638.app-1e7b32b35927de455ae2.js +1 -0
  11. package/dist/multi/672.app-1e7b32b35927de455ae2.js +1 -0
  12. package/dist/multi/686.app-1e7b32b35927de455ae2.js +1 -0
  13. package/dist/multi/725.app-1e7b32b35927de455ae2.js +1 -0
  14. package/dist/multi/741.app-1e7b32b35927de455ae2.js +1 -0
  15. package/dist/multi/755.app-1e7b32b35927de455ae2.js +1 -0
  16. package/dist/multi/894.app-1e7b32b35927de455ae2.js +1 -0
  17. package/dist/multi/943.app-1e7b32b35927de455ae2.js +1 -0
  18. package/dist/multi/980.app-1e7b32b35927de455ae2.js +1 -0
  19. package/dist/multi/app-1e7b32b35927de455ae2.js +2 -0
  20. package/dist/multi/manifest.json +24 -24
  21. package/dist/multi/styles-99f5e45d3e35c8c13cd6.css +43 -0
  22. package/dist/single/app-b4be944c6ebe4a83f366.js +2 -0
  23. package/dist/single/manifest.json +1 -1
  24. package/package.json +17 -16
  25. package/src/assets/scss/day.scss +2 -0
  26. package/src/assets/scss/night.scss +2 -0
  27. package/src/assets/scss/theme.scss +4 -0
  28. package/src/components/BaseLayout/styles.scss +1 -1
  29. package/src/components/Charts/index.tsx +2 -2
  30. package/src/components/Header/styles.scss +1 -2
  31. package/src/components/MetadataButton/index.tsx +1 -1
  32. package/src/components/ReportBody/Filters.tsx +44 -63
  33. package/src/components/ReportMetadata/MetadataSummary.tsx +1 -1
  34. package/src/components/ReportMetadata/MetadataWithIcon.tsx +9 -11
  35. package/src/components/TestResult/TrDescription/index.tsx +1 -1
  36. package/src/components/TestResult/TrError/TrDiff.tsx +0 -1
  37. package/src/components/TestResult/TrHistory/TrHistoryItem.tsx +63 -34
  38. package/src/components/TestResult/TrHistory/styles.scss +2 -1
  39. package/src/components/TestResult/TrInfo/TrInfoStatuses.tsx +4 -2
  40. package/src/components/TestResult/TrOverview.tsx +0 -1
  41. package/src/components/TestResult/TrPrevStatuses/index.tsx +20 -5
  42. package/src/components/TestResult/TrPwTraces/index.tsx +6 -3
  43. package/src/components/TestResult/TrSteps/TrAttachment.tsx +14 -2
  44. package/src/components/TestResult/TrSteps/TrStep.tsx +4 -3
  45. package/src/components/TestResult/TrSteps/TrStepInfo.tsx +61 -1
  46. package/src/components/TestResult/TrSteps/styles.scss +31 -0
  47. package/src/components/Tree/index.tsx +17 -3
  48. package/src/locales/az.json +39 -16
  49. package/src/locales/de.json +39 -16
  50. package/src/locales/en.json +25 -2
  51. package/src/locales/es.json +36 -12
  52. package/src/locales/fr.json +36 -12
  53. package/src/locales/he.json +26 -2
  54. package/src/locales/hy.json +26 -2
  55. package/src/locales/it.json +29 -5
  56. package/src/locales/ja.json +29 -5
  57. package/src/locales/ka.json +36 -12
  58. package/src/locales/kr.json +26 -2
  59. package/src/locales/nl.json +36 -12
  60. package/src/locales/pl.json +46 -20
  61. package/src/locales/pt.json +37 -12
  62. package/src/locales/ru.json +47 -21
  63. package/src/locales/sv.json +36 -12
  64. package/src/locales/tr.json +36 -12
  65. package/src/locales/zh.json +36 -12
  66. package/src/stores/chart.ts +4 -2
  67. package/src/stores/env.ts +1 -1
  68. package/src/stores/envInfo.ts +2 -2
  69. package/src/stores/locale.ts +3 -0
  70. package/src/stores/stats.ts +2 -2
  71. package/src/stores/testResults.ts +6 -2
  72. package/src/stores/tree.ts +8 -2
  73. package/src/stores/variables.ts +3 -1
  74. package/src/utils/charts.ts +16 -18
  75. package/src/utils/tree.ts +25 -0
  76. package/src/utils/treeFilters.ts +14 -3
  77. package/tsconfig.json +1 -1
  78. package/types.d.ts +4 -1
  79. package/webpack.config.js +18 -4
  80. package/dist/multi/173.app-1829fb8f.js +0 -1
  81. package/dist/multi/174.app-1829fb8f.js +0 -1
  82. package/dist/multi/252.app-1829fb8f.js +0 -1
  83. package/dist/multi/282.app-1829fb8f.js +0 -1
  84. package/dist/multi/29.app-1829fb8f.js +0 -1
  85. package/dist/multi/416.app-1829fb8f.js +0 -1
  86. package/dist/multi/527.app-1829fb8f.js +0 -1
  87. package/dist/multi/600.app-1829fb8f.js +0 -1
  88. package/dist/multi/605.app-1829fb8f.js +0 -1
  89. package/dist/multi/638.app-1829fb8f.js +0 -1
  90. package/dist/multi/672.app-1829fb8f.js +0 -1
  91. package/dist/multi/686.app-1829fb8f.js +0 -1
  92. package/dist/multi/725.app-1829fb8f.js +0 -1
  93. package/dist/multi/741.app-1829fb8f.js +0 -1
  94. package/dist/multi/755.app-1829fb8f.js +0 -1
  95. package/dist/multi/894.app-1829fb8f.js +0 -1
  96. package/dist/multi/943.app-1829fb8f.js +0 -1
  97. package/dist/multi/980.app-1829fb8f.js +0 -1
  98. package/dist/multi/app-1829fb8f.js +0 -2
  99. package/dist/multi/styles-1829fb8f.css +0 -43
  100. package/dist/single/app-3a6e31c7.js +0 -2
  101. /package/dist/multi/{JetBrainsMono_vf-b9a9c326..woff → JetBrainsMono_vf.woff} +0 -0
  102. /package/dist/multi/{JetBrainsMono_vf-9e9649b6..woff2 → JetBrainsMono_vf.woff2} +0 -0
  103. /package/dist/multi/{app-1829fb8f.js.LICENSE.txt → app-1e7b32b35927de455ae2.js.LICENSE.txt} +0 -0
  104. /package/dist/multi/{pt-root-ui_vf-22fe60ca..woff → pt-root-ui_vf.woff} +0 -0
  105. /package/dist/multi/{pt-root-ui_vf-9d251e8b..woff2 → pt-root-ui_vf.woff2} +0 -0
  106. /package/dist/single/{app-3a6e31c7.js.LICENSE.txt → app-b4be944c6ebe4a83f366.js.LICENSE.txt} +0 -0
@@ -1,11 +1,12 @@
1
1
  import type { AttachmentTestStepResult } from "@allurereport/core-api";
2
2
  import { attachmentType } from "@allurereport/web-commons";
3
3
  import { ArrowButton, Attachment, Code, SvgIcon, Text, allureIcons } from "@allurereport/web-components";
4
- import type { FunctionComponent } from "preact";
5
4
  import cx from "clsx";
5
+ import type { FunctionComponent } from "preact";
6
6
  import { useState } from "preact/hooks";
7
7
  import { TrAttachmentInfo } from "@/components/TestResult/TrSteps/TrAttachmentInfo";
8
8
  import * as styles from "@/components/TestResult/TrSteps/styles.scss";
9
+ import { openModal } from "@/stores/modal";
9
10
 
10
11
  const { lineImagesImage, lineFilesFileAttachment2, playwrightLogo } = allureIcons;
11
12
 
@@ -60,6 +61,17 @@ export const TrAttachment: FunctionComponent<{
60
61
  const componentType = attachmentType(link.contentType);
61
62
  const isValidComponentType = !["archive", null].includes(componentType.type as string);
62
63
 
64
+ const expandAttachment = (event: Event) => {
65
+ event.stopPropagation();
66
+ if (componentType.type !== "image") {
67
+ return;
68
+ }
69
+ openModal({
70
+ data: item,
71
+ component: <Attachment item={item} previewable={true} />,
72
+ });
73
+ };
74
+
63
75
  return (
64
76
  <div data-testid={"test-result-attachment"} className={styles["test-result-step"]}>
65
77
  <div
@@ -96,7 +108,7 @@ export const TrAttachment: FunctionComponent<{
96
108
  </div>
97
109
  {isOpened && isValidComponentType && (
98
110
  <div className={styles["test-result-attachment-content-wrapper"]}>
99
- <div className={styles["test-result-attachment-content"]}>
111
+ <div className={styles["test-result-attachment-content"]} role={"button"} onClick={expandAttachment}>
100
112
  <Attachment item={item} />
101
113
  </div>
102
114
  </div>
@@ -1,5 +1,5 @@
1
- import type { DefaultTestStepResult, TestStepResult } from "@allurereport/core-api";
2
- import { ArrowButton, Code, Text, TreeItemIcon, allureIcons } from "@allurereport/web-components";
1
+ import type { DefaultTestStepResult, TestStatus, TestStepResult } from "@allurereport/core-api";
2
+ import { ArrowButton, Code, SvgIcon, Text, TreeItemIcon, allureIcons } from "@allurereport/web-components";
3
3
  import type { FunctionComponent } from "preact";
4
4
  import { useState } from "preact/hooks";
5
5
  import { MetadataList } from "@/components/Metadata";
@@ -19,13 +19,14 @@ export const TrStepParameters = (props: { parameters: DefaultTestStepResult["par
19
19
  </div>
20
20
  );
21
21
  };
22
+
22
23
  export const TrStepsContent = (props: { item: DefaultTestStepResult }) => {
23
24
  const { item } = props;
24
25
 
25
26
  return (
26
27
  <div data-testid={"test-result-step-content"} className={styles["test-result-step-content"]}>
27
28
  {Boolean(item?.parameters?.length) && <TrStepParameters parameters={item.parameters} />}
28
- {Boolean(item?.message && item?.trace) && <TrError {...item} />}
29
+ {Boolean(item?.message && item?.trace && !item?.hasSimilarErrorInSubSteps) && <TrError {...item} />}
29
30
  {Boolean(item?.steps?.length) && (
30
31
  <>
31
32
  {item.steps?.map((subItem, key) => {
@@ -1,15 +1,75 @@
1
- import { type DefaultTestStepResult, formatDuration } from "@allurereport/core-api";
1
+ import {
2
+ type DefaultTestStepResult,
3
+ type TestStatus,
4
+ type TestStepResult,
5
+ formatDuration,
6
+ } from "@allurereport/core-api";
2
7
  import { SvgIcon, Text, allureIcons } from "@allurereport/web-components";
8
+ import clsx from "clsx";
3
9
  import * as styles from "@/components/TestResult/TrSteps/styles.scss";
4
10
 
11
+ const countErrorStatuses = (step: TestStepResult): Record<string, number> => {
12
+ if (step.type !== "step") {
13
+ return;
14
+ }
15
+ const result: Record<string, number> = {};
16
+
17
+ const collectFromSteps = (currentStep: TestStepResult) => {
18
+ if (currentStep.type !== "step") {
19
+ return;
20
+ }
21
+ if (currentStep.status !== "passed") {
22
+ result[currentStep.status] = (result[currentStep.status] || 0) + 1;
23
+ }
24
+ currentStep.steps?.forEach(collectFromSteps);
25
+ };
26
+ step?.steps?.forEach(collectFromSteps);
27
+
28
+ return result;
29
+ };
30
+
31
+ const {
32
+ lineGeneralCheckCircle,
33
+ lineGeneralHelpCircle,
34
+ lineGeneralMinusCircle,
35
+ lineGeneralXCircle,
36
+ lineGeneralInfoCircle,
37
+ } = allureIcons;
38
+
39
+ const icons = {
40
+ failed: lineGeneralXCircle,
41
+ broken: lineGeneralInfoCircle,
42
+ passed: lineGeneralCheckCircle,
43
+ skipped: lineGeneralMinusCircle,
44
+ unknown: lineGeneralHelpCircle,
45
+ };
46
+
5
47
  export const TrStepInfo = (props: { item: DefaultTestStepResult }) => {
6
48
  const { item } = props;
7
49
  const formattedDuration = formatDuration(item?.duration as number);
8
50
  const stepLength = item.steps?.length;
9
51
  const attachmentLength = item.steps?.filter((step) => step.type === "attachment")?.length;
10
52
 
53
+ const failedStepsInTree = countErrorStatuses(item);
54
+
55
+ const FailedSteps = () => (
56
+ <div>
57
+ {Object.entries(failedStepsInTree).map(([status, count], index) => (
58
+ <div className={styles["item-status"]} key={index}>
59
+ <SvgIcon
60
+ size="m"
61
+ id={icons[status as TestStatus]}
62
+ className={clsx(styles["item-status-icon"], styles[`status-${status}`])}
63
+ />
64
+ {count && <span>{count}</span>}
65
+ </div>
66
+ ))}
67
+ </div>
68
+ );
69
+
11
70
  return (
12
71
  <div className={styles["item-info"]}>
72
+ <FailedSteps />
13
73
  {Boolean(stepLength) && (
14
74
  <div className={styles["item-info-step"]}>
15
75
  <SvgIcon id={allureIcons.lineArrowsCornerDownRight} className={styles["item-info-step-icon"]} />
@@ -1,3 +1,5 @@
1
+ @import "~@allurereport/web-components/mixins.scss";
2
+
1
3
  .test-result-steps {
2
4
  padding-right: 24px;
3
5
 
@@ -217,8 +219,37 @@
217
219
 
218
220
  .test-result-strut {
219
221
  width: 24px;
222
+ flex: none;
220
223
  }
221
224
 
222
225
  .html-attachment-preview {
223
226
  padding: 0 16px;
224
227
  }
228
+
229
+ .item-status {
230
+ display: flex;
231
+ align-items: center;
232
+ gap: 4px;
233
+ }
234
+
235
+ .item-status-icon {
236
+ &.status-passed {
237
+ color: var(--bg-support-castor);
238
+ }
239
+
240
+ &.status-failed {
241
+ color: var(--bg-support-capella);
242
+ }
243
+
244
+ &.status-broken {
245
+ color: var(--bg-support-atlas);
246
+ }
247
+
248
+ &.status-skipped {
249
+ color: var(--bg-support-rau);
250
+ }
251
+
252
+ &.status-unknown {
253
+ color: var(--bg-support-skat);
254
+ }
255
+ }
@@ -1,4 +1,5 @@
1
1
  import { Button, Loadable, PageLoader, Text, Tree, TreeStatusBar } from "@allurereport/web-components";
2
+ import { useMemo } from "preact/hooks";
2
3
  import type { AwesomeStatus } from "types";
3
4
  import { MetadataButton } from "@/components/MetadataButton";
4
5
  import { useTabsContext } from "@/components/Tabs";
@@ -15,14 +16,25 @@ import {
15
16
  toggleTree,
16
17
  treeStore,
17
18
  } from "@/stores/tree";
19
+ import { createTreeLocalizer } from "@/utils/tree";
18
20
  import * as styles from "./styles.scss";
19
21
 
20
22
  export const TreeList = () => {
21
23
  const { t } = useI18n("empty");
22
24
  const { t: tEnvironments } = useI18n("environments");
25
+ const { t: tTransitions } = useI18n("transitions");
26
+ const { t: tooltip } = useI18n("transitions.description");
23
27
  const { currentTab } = useTabsContext();
24
28
  const routeId = route.value.params?.testResultId;
25
29
 
30
+ const localizers = useMemo(
31
+ () => ({
32
+ tooltip,
33
+ value: tTransitions,
34
+ }),
35
+ [tTransitions, tooltip],
36
+ );
37
+
26
38
  return (
27
39
  <Loadable
28
40
  source={treeStore}
@@ -59,6 +71,8 @@ export const TreeList = () => {
59
71
  );
60
72
  }
61
73
 
74
+ const treeLocalizer = createTreeLocalizer(localizers);
75
+
62
76
  // render single tree for single environment
63
77
  if (environmentsStore.value.data.length === 1) {
64
78
  return (
@@ -69,7 +83,7 @@ export const TreeList = () => {
69
83
  collapsedTrees={collapsedTrees.value}
70
84
  toggleTree={toggleTree}
71
85
  navigateTo={navigateTo}
72
- tree={filteredTree.value.default}
86
+ tree={treeLocalizer(filteredTree.value.default)}
73
87
  statusFilter={currentTab as AwesomeStatus}
74
88
  routeId={routeId}
75
89
  root
@@ -89,7 +103,7 @@ export const TreeList = () => {
89
103
  collapsedTrees={collapsedTrees.value}
90
104
  toggleTree={toggleTree}
91
105
  navigateTo={navigateTo}
92
- tree={currentTree}
106
+ tree={treeLocalizer(currentTree)}
93
107
  statusFilter={currentTab as AwesomeStatus}
94
108
  routeId={routeId}
95
109
  root
@@ -141,7 +155,7 @@ export const TreeList = () => {
141
155
  toggleTree={toggleTree}
142
156
  statusFilter={currentTab}
143
157
  navigateTo={navigateTo}
144
- tree={value}
158
+ tree={treeLocalizer(value)}
145
159
  routeId={routeId}
146
160
  root
147
161
  />
@@ -25,10 +25,21 @@
25
25
  },
26
26
  "filters": {
27
27
  "more-filters": "Daha çox filtr",
28
- "enable-filter": "\"{filter}\" filtrlərini aktiv edin",
28
+ "enable-filter": "\"{{filter}}\" filtrlərini aktiv edin",
29
29
  "flaky": "Etibarsız",
30
30
  "retry": "Təkrar",
31
- "new": "Yeni"
31
+ "new": "Yeni",
32
+ "fixed": "Düzəldilmiş",
33
+ "regressed": "Reqressiya",
34
+ "malfunctioned": "Sınıq"
35
+ },
36
+ "filters.description": {
37
+ "flaky": "Qeyri-sabit testləri göstərir",
38
+ "retry": "Yenidən işə salınan test nəticələrini göstərir",
39
+ "new": "Bu hesabatda ilk dəfə görünən test nəticələrini göstərir",
40
+ "fixed": "İndi uğurlu olan, əvvəl \"uğursuz\" və ya \"sınıq\" olan testləri göstərir",
41
+ "regressed": "Statusu \"uğursuz\" olan, əvvəl \"uğurlu\" və ya \"sınıq\" olan test nəticələrini göstərir",
42
+ "malfunctioned": "Statusu \"sınıq\" olan, əvvəl \"uğurlu\" və ya \"uğursuz\" olan test nəticələrini göstərir"
32
43
  },
33
44
  "sort-by": {
34
45
  "sort-by-text": "Sıralamaq üzrə:",
@@ -42,18 +53,18 @@
42
53
  "status": "Status"
43
54
  },
44
55
  "sort-by.directions": {
45
- "order-desc": "SonuncuBirinci",
46
- "order-asc": "BirinciSonuncu",
56
+ "order-desc": "Sonuncu Birinci",
57
+ "order-asc": "Birinci Sonuncu",
47
58
  "order-asc-short": "Birinci",
48
59
  "order-desc-short": "Sonuncu",
49
- "alphabet-asc": "AZ",
50
- "alphabet-desc": "ZA",
51
- "alphabet-asc-short": "AZ",
52
- "alphabet-desc-short": "ZA",
53
- "duration-asc": "19",
54
- "duration-desc": "91",
55
- "duration-asc-short": "19",
56
- "duration-desc-short": "91",
60
+ "alphabet-asc": "A Z",
61
+ "alphabet-desc": "Z A",
62
+ "alphabet-asc-short": "A Z",
63
+ "alphabet-desc-short": "Z A",
64
+ "duration-asc": "1 9",
65
+ "duration-desc": "9 1",
66
+ "duration-asc-short": "1 9",
67
+ "duration-desc-short": "9 1",
57
68
  "status-asc": "Filtr siyahısına uyğun",
58
69
  "status-desc": "Tərsinə çevrilmiş",
59
70
  "status-asc-short": "Adi",
@@ -62,6 +73,7 @@
62
73
  "empty": {
63
74
  "no-results": "Nəticə tapılmadı",
64
75
  "no-tests-found": "Nəticə tapılmadı",
76
+ "no-message-provided": "Mesaj təqdim edilməyib",
65
77
  "clear-filters": "Filtrləri təmizlə",
66
78
  "no-attachments-results": "Əlavə məlumatı mövcud deyil",
67
79
  "no-history-results": "Tarixçə məlumatı mövcud deyil",
@@ -98,16 +110,15 @@
98
110
  "history": "Tarixçə",
99
111
  "attachments": "Əlavələr",
100
112
  "retries": "Təkrarlar",
101
- "environment_one": "Mühit",
102
- "environment_other": "Mühitlər",
113
+ "environments": "Mühitlər",
103
114
  "error": "Səhv",
104
115
  "goToStep": "Addıma keç",
105
116
  "showLess": "Daha az göstər",
106
117
  "showMore": "Daha çox göstər",
107
118
  "copy": "Kopyala",
108
119
  "at": "üçün",
109
- "openPwTrace": "Playwright Trace aç",
110
- "variables": "Dəyişənlər"
120
+ "variables": "Dəyişənlər",
121
+ "openPwTrace": "Playwright Trace aç"
111
122
  },
112
123
  "controls": {
113
124
  "newTabAttachment": "Yeni sekmede aç",
@@ -155,5 +166,17 @@
155
166
  "pie": {
156
167
  "title": "Test Uğur Dərəcəsi"
157
168
  }
169
+ },
170
+ "transitions": {
171
+ "new": "Yeni",
172
+ "fixed": "Düzəldilmiş",
173
+ "regressed": "Reqressiya",
174
+ "malfunctioned": "Sınıq"
175
+ },
176
+ "transitions.description": {
177
+ "new": "Bu test nəticəsinin hesabatda ilk dəfə görünməsi",
178
+ "fixed": "Əvvəl \"uğursuz\" və ya \"sınıq\" olan, indi \"uğurlu\" olan test",
179
+ "regressed": "Əvvəl \"uğurlu\" və ya \"sınıq\" olan, indi \"uğursuz\" olan test",
180
+ "malfunctioned": "Əvvəl \"uğurlu\" və ya \"uğursuz\" olan, indi \"sınıq\" olan test"
158
181
  }
159
182
  }
@@ -24,11 +24,22 @@
24
24
  "search-placeholder": "Name oder ID"
25
25
  },
26
26
  "filters": {
27
- "more-filters": "Weitere Filter",
28
- "enable-filter": "Filter für \"{filter}\" aktivieren",
27
+ "more-filters": "Filter",
28
+ "enable-filter": "Filter nach \"{{filter}}\" aktivieren",
29
29
  "flaky": "Instabil",
30
- "retry": "Wiederholen",
31
- "new": "Neu"
30
+ "retry": "Wiederholt",
31
+ "new": "Neu",
32
+ "fixed": "Behoben",
33
+ "regressed": "Regressiert",
34
+ "malfunctioned": "Defekt"
35
+ },
36
+ "filters.description": {
37
+ "flaky": "Instabile Tests anzeigen",
38
+ "retry": "Testergebnisse anzeigen, die wiederholt wurden",
39
+ "new": "Testergebnisse anzeigen, die zum ersten Mal in diesem Bericht erscheinen",
40
+ "fixed": "Tests anzeigen, die jetzt erfolgreich sind, aber zuvor \"fehlgeschlagen\" oder \"defekt\" waren",
41
+ "regressed": "Testergebnisse anzeigen, die den Status von \"erfolgreich\" oder \"defekt\" zu \"fehlgeschlagen\" geändert haben",
42
+ "malfunctioned": "Testergebnisse anzeigen, die den Status von \"erfolgreich\" oder \"fehlgeschlagen\" zu \"defekt\" geändert haben"
32
43
  },
33
44
  "sort-by": {
34
45
  "sort-by-text": "Sortieren nach:",
@@ -42,18 +53,18 @@
42
53
  "status": "Status"
43
54
  },
44
55
  "sort-by.directions": {
45
- "order-desc": "NeuesteÄlteste",
46
- "order-asc": "ÄltesteNeueste",
56
+ "order-desc": "Neueste Älteste",
57
+ "order-asc": "Älteste Neueste",
47
58
  "order-asc-short": "Älteste",
48
59
  "order-desc-short": "Neueste",
49
- "alphabet-asc": "AZ",
50
- "alphabet-desc": "ZA",
51
- "alphabet-asc-short": "AZ",
52
- "alphabet-desc-short": "ZA",
53
- "duration-asc": "19",
54
- "duration-desc": "91",
55
- "duration-asc-short": "19",
56
- "duration-desc-short": "91",
60
+ "alphabet-asc": "A Z",
61
+ "alphabet-desc": "Z A",
62
+ "alphabet-asc-short": "A Z",
63
+ "alphabet-desc-short": "Z A",
64
+ "duration-asc": "1 9",
65
+ "duration-desc": "9 1",
66
+ "duration-asc-short": "1 9",
67
+ "duration-desc-short": "9 1",
57
68
  "status-asc": "Wie in der Filterliste",
58
69
  "status-desc": "Umgekehrt",
59
70
  "status-asc-short": "Normal",
@@ -62,7 +73,8 @@
62
73
  "empty": {
63
74
  "no-results": "Keine Ergebnisse",
64
75
  "no-tests-found": "Keine Ergebnisse gefunden",
65
- "clear-filters": "Filter löschen",
76
+ "no-message-provided": "Keine Nachricht vorhanden",
77
+ "clear-filters": "Filter zurücksetzen",
66
78
  "no-attachments-results": "Keine Anhängeinformationen verfügbar",
67
79
  "no-history-results": "Keine Verlaufsinformationen verfügbar",
68
80
  "no-retries-results": "Keine Wiederholungsinformationen verfügbar",
@@ -154,6 +166,17 @@
154
166
  "pie": {
155
167
  "title": "Testerfolgsrate"
156
168
  }
169
+ },
170
+ "transitions": {
171
+ "new": "Neu",
172
+ "fixed": "Behoben",
173
+ "regressed": "Regressiert",
174
+ "malfunctioned": "Defekt"
175
+ },
176
+ "transitions.description": {
177
+ "new": "Erstes Auftreten dieses Testergebnisses im Bericht",
178
+ "fixed": "Zuvor \"fehlgeschlagen\" oder \"defekt\" gewesener Test, der jetzt \"erfolgreich\" ist",
179
+ "regressed": "Zuvor \"erfolgreich\" oder \"defekt\" gewesener Test, der jetzt \"fehlgeschlagen\" ist",
180
+ "malfunctioned": "Zuvor \"erfolgreich\" oder \"fehlgeschlagen\" gewesener Test, der jetzt \"defekt\" ist"
157
181
  }
158
-
159
182
  }
@@ -25,10 +25,21 @@
25
25
  },
26
26
  "filters": {
27
27
  "more-filters": "More filters",
28
- "enable-filter": "params('Enable \"{filter}\" filter')",
28
+ "enable-filter": "Enable \"{{filter}}\" filter",
29
29
  "flaky": "Flaky",
30
30
  "retry": "Retry",
31
- "new": "New"
31
+ "new": "New",
32
+ "fixed": "Fixed",
33
+ "regressed": "Regressed",
34
+ "malfunctioned": "Malfuctioned"
35
+ },
36
+ "filters.description": {
37
+ "flaky": "Show unstable tests",
38
+ "retry": "Show test results that were rerun",
39
+ "new": "Show test results that appear for the first time in this report",
40
+ "fixed": "Show tests that are passed now but had been \"failed\" or \"broken\" in a previous report",
41
+ "regressed": "Show test results that changed to \"failed\" status from \"passed\" or \"broken\" status",
42
+ "malfunctioned": "Show test results that changed to \"broken\" status from \"passed\" or \"failed\" status"
32
43
  },
33
44
  "sort-by": {
34
45
  "sort-by-text": "Sort by:",
@@ -155,5 +166,17 @@
155
166
  "pie": {
156
167
  "title": "Test Success Rate"
157
168
  }
169
+ },
170
+ "transitions": {
171
+ "new": "New",
172
+ "fixed": "Fixed",
173
+ "regressed": "Regressed",
174
+ "malfunctioned": "Malfuctioned"
175
+ },
176
+ "transitions.description": {
177
+ "new": "The first occurrence of this test result in the report",
178
+ "fixed": "A previously \"failed\" or \"broken\" test that is now \"passed\"",
179
+ "regressed": "A previously \"passed\" or \"broken\" test that is now \"failed\"",
180
+ "malfunctioned": "A previously \"passed\" or \"failed\" test that is now \"broken\""
158
181
  }
159
182
  }
@@ -25,10 +25,21 @@
25
25
  },
26
26
  "filters": {
27
27
  "more-filters": "Más filtros",
28
- "enable-filter": "Habilitar filtro para \"{filter}\"",
28
+ "enable-filter": "Habilitar filtro para \"{{filter}}\"",
29
29
  "flaky": "Inestable",
30
30
  "retry": "Reintento",
31
- "new": "Nuevo"
31
+ "new": "Nuevo",
32
+ "fixed": "Corregido",
33
+ "regressed": "Regresado",
34
+ "malfunctioned": "Defectuoso"
35
+ },
36
+ "filters.description": {
37
+ "flaky": "Mostrar pruebas inestables",
38
+ "retry": "Mostrar resultados de pruebas que se volvieron a ejecutar",
39
+ "new": "Mostrar resultados de pruebas que aparecen por primera vez en este informe",
40
+ "fixed": "Mostrar pruebas que ahora están aprobadas pero anteriormente fueron \"fallidas\" o \"rotas\"",
41
+ "regressed": "Mostrar resultados de pruebas que cambiaron de estado \"aprobado\" o \"roto\" a \"fallido\"",
42
+ "malfunctioned": "Mostrar resultados de pruebas que cambiaron de estado \"aprobado\" o \"fallido\" a \"roto\""
32
43
  },
33
44
  "sort-by": {
34
45
  "sort-by-text": "Ordenar por:",
@@ -42,18 +53,18 @@
42
53
  "status": "Estado"
43
54
  },
44
55
  "sort-by.directions": {
45
- "order-desc": "Más recienteMás antiguo",
46
- "order-asc": "Más antiguoMás reciente",
56
+ "order-desc": "Más reciente Más antiguo",
57
+ "order-asc": "Más antiguo Más reciente",
47
58
  "order-asc-short": "Antiguo",
48
59
  "order-desc-short": "Reciente",
49
- "alphabet-asc": "AZ",
50
- "alphabet-desc": "ZA",
51
- "alphabet-asc-short": "AZ",
52
- "alphabet-desc-short": "ZA",
53
- "duration-asc": "19",
54
- "duration-desc": "91",
55
- "duration-asc-short": "19",
56
- "duration-desc-short": "91",
60
+ "alphabet-asc": "A Z",
61
+ "alphabet-desc": "Z A",
62
+ "alphabet-asc-short": "A Z",
63
+ "alphabet-desc-short": "Z A",
64
+ "duration-asc": "1 9",
65
+ "duration-desc": "9 1",
66
+ "duration-asc-short": "1 9",
67
+ "duration-desc-short": "9 1",
57
68
  "status-asc": "Como en la lista de filtros",
58
69
  "status-desc": "Invertido",
59
70
  "status-asc-short": "Regular",
@@ -62,6 +73,7 @@
62
73
  "empty": {
63
74
  "no-results": "Sin resultados",
64
75
  "no-tests-found": "No se encontraron resultados",
76
+ "no-message-provided": "No se proporcionó mensaje",
65
77
  "clear-filters": "Limpiar filtros",
66
78
  "no-attachments-results": "No hay información de adjuntos disponible",
67
79
  "no-history-results": "No hay información de historial disponible",
@@ -154,5 +166,17 @@
154
166
  "pie": {
155
167
  "title": "Tasa de éxito de pruebas"
156
168
  }
169
+ },
170
+ "transitions": {
171
+ "new": "Nuevo",
172
+ "fixed": "Corregido",
173
+ "regressed": "Regresado",
174
+ "malfunctioned": "Defectuoso"
175
+ },
176
+ "transitions.description": {
177
+ "new": "Primera aparición de este resultado de prueba en el informe",
178
+ "fixed": "Prueba que anteriormente \"falló\" o estaba \"rota\" y ahora está \"aprobada\"",
179
+ "regressed": "Prueba que anteriormente estaba \"aprobada\" o \"rota\" y ahora \"falló\"",
180
+ "malfunctioned": "Prueba que anteriormente estaba \"aprobada\" o \"falló\" y ahora está \"rota\""
157
181
  }
158
182
  }
@@ -25,10 +25,21 @@
25
25
  },
26
26
  "filters": {
27
27
  "more-filters": "Plus de filtres",
28
- "enable-filter": "Activer le filtre \"{filter}\"",
28
+ "enable-filter": "Activer le filtre \"{{filter}}\"",
29
29
  "flaky": "Instables",
30
30
  "retry": "Réessais",
31
- "new": "Nouveaux"
31
+ "new": "Nouveaux",
32
+ "fixed": "Corrigés",
33
+ "regressed": "Régression",
34
+ "malfunctioned": "Défectueux"
35
+ },
36
+ "filters.description": {
37
+ "flaky": "Afficher les tests instables",
38
+ "retry": "Afficher les résultats des tests qui ont été réexécutés",
39
+ "new": "Afficher les résultats des tests qui apparaissent pour la première fois dans ce rapport",
40
+ "fixed": "Afficher les tests qui sont maintenant réussis mais qui étaient précédemment \"échoués\" ou \"cassés\"",
41
+ "regressed": "Afficher les résultats des tests qui sont passés du statut \"réussi\" ou \"cassé\" à \"échoué\"",
42
+ "malfunctioned": "Afficher les résultats des tests qui sont passés du statut \"réussi\" ou \"échoué\" à \"cassé\""
32
43
  },
33
44
  "sort-by": {
34
45
  "sort-by-text": "Trier par :",
@@ -42,18 +53,18 @@
42
53
  "status": "Statut"
43
54
  },
44
55
  "sort-by.directions": {
45
- "order-desc": "DerniersPremiers",
46
- "order-asc": "PremiersDerniers",
56
+ "order-desc": "Derniers Premiers",
57
+ "order-asc": "Premiers Derniers",
47
58
  "order-asc-short": "Premiers",
48
59
  "order-desc-short": "Derniers",
49
- "alphabet-asc": "AZ",
50
- "alphabet-desc": "ZA",
51
- "alphabet-asc-short": "AZ",
52
- "alphabet-desc-short": "ZA",
53
- "duration-asc": "19",
54
- "duration-desc": "91",
55
- "duration-asc-short": "19",
56
- "duration-desc-short": "91",
60
+ "alphabet-asc": "A Z",
61
+ "alphabet-desc": "Z A",
62
+ "alphabet-asc-short": "A Z",
63
+ "alphabet-desc-short": "Z A",
64
+ "duration-asc": "1 9",
65
+ "duration-desc": "9 1",
66
+ "duration-asc-short": "1 9",
67
+ "duration-desc-short": "9 1",
57
68
  "status-asc": "Comme dans la liste des filtres",
58
69
  "status-desc": "Inversé",
59
70
  "status-asc-short": "Normal",
@@ -62,6 +73,7 @@
62
73
  "empty": {
63
74
  "no-results": "Aucun résultat",
64
75
  "no-tests-found": "Aucun résultat trouvé",
76
+ "no-message-provided": "Aucun message fourni",
65
77
  "clear-filters": "Effacer les filtres",
66
78
  "no-attachments-results": "Aucune information sur les pièces jointes disponible",
67
79
  "no-history-results": "Aucune information sur l'historique disponible",
@@ -154,5 +166,17 @@
154
166
  "pie": {
155
167
  "title": "Taux de réussite des tests"
156
168
  }
169
+ },
170
+ "transitions": {
171
+ "new": "Nouveau",
172
+ "fixed": "Corrigés",
173
+ "regressed": "Régression",
174
+ "malfunctioned": "Défectueux"
175
+ },
176
+ "transitions.description": {
177
+ "new": "Première apparition de ce résultat de test dans le rapport",
178
+ "fixed": "Test précédemment \"échoué\" ou \"cassé\" qui est maintenant \"réussi\"",
179
+ "regressed": "Test précédemment \"réussi\" ou \"cassé\" qui est maintenant \"échoué\"",
180
+ "malfunctioned": "Test précédemment \"réussi\" ou \"échoué\" qui est maintenant \"cassé\""
157
181
  }
158
182
  }