@allurereport/web-awesome 3.0.0-beta.10 → 3.0.0-beta.12
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/dist/multi/173.app-52d1decd.js +1 -0
- package/dist/multi/174.app-52d1decd.js +1 -0
- package/dist/multi/252.app-52d1decd.js +1 -0
- package/dist/multi/282.app-52d1decd.js +1 -0
- package/dist/multi/29.app-52d1decd.js +1 -0
- package/dist/multi/416.app-52d1decd.js +1 -0
- package/dist/multi/527.app-52d1decd.js +1 -0
- package/dist/multi/600.app-52d1decd.js +1 -0
- package/dist/multi/605.app-52d1decd.js +1 -0
- package/dist/multi/638.app-52d1decd.js +1 -0
- package/dist/multi/672.app-52d1decd.js +1 -0
- package/dist/multi/686.app-52d1decd.js +1 -0
- package/dist/multi/725.app-52d1decd.js +1 -0
- package/dist/multi/741.app-52d1decd.js +1 -0
- package/dist/multi/755.app-52d1decd.js +1 -0
- package/dist/multi/894.app-52d1decd.js +1 -0
- package/dist/multi/943.app-52d1decd.js +1 -0
- package/dist/multi/980.app-52d1decd.js +1 -0
- package/dist/multi/app-52d1decd.js +2 -0
- package/dist/multi/{app-d01d0c66.js.LICENSE.txt → app-52d1decd.js.LICENSE.txt} +7 -0
- package/dist/multi/manifest.json +20 -20
- package/dist/multi/styles-52d1decd.css +41 -0
- package/dist/single/app-83b0c4fc.js +2 -0
- package/dist/single/{app-6596cb08.js.LICENSE.txt → app-83b0c4fc.js.LICENSE.txt} +7 -0
- package/dist/single/manifest.json +1 -1
- package/package.json +4 -4
- package/src/assets/scss/palette.scss +391 -391
- package/src/assets/scss/theme.scss +9 -1
- package/src/assets/scss/vars.scss +0 -1
- package/src/components/BaseLayout/styles.scss +10 -2
- package/src/components/EnvironmentPicker/index.tsx +51 -0
- package/src/components/EnvironmentPicker/styles.scss +9 -0
- package/src/components/Footer/FooterLogo.tsx +1 -2
- package/src/components/Header/index.tsx +4 -10
- package/src/components/HeaderControls/index.tsx +20 -0
- package/src/components/MainReport/styles.scss +2 -1
- package/src/components/Metadata/index.tsx +6 -4
- package/src/components/MetadataButton/index.tsx +12 -4
- package/src/components/MetadataButton/styles.scss +3 -0
- package/src/components/ReportBody/index.tsx +3 -2
- package/src/components/ReportHeader/ReportHeaderLogo.tsx +6 -2
- package/src/components/ReportHeader/ReportHeaderPie.tsx +1 -2
- package/src/components/ReportMetadata/MetadataSummary.tsx +56 -63
- package/src/components/ReportMetadata/MetadataWithIcon.tsx +1 -1
- package/src/components/ReportMetadata/index.tsx +50 -3
- package/src/components/SideBySide/styles.scss +2 -3
- package/src/components/SplitLayout/index.tsx +2 -2
- package/src/components/SplitLayout/styles.scss +2 -1
- package/src/components/TestResult/TestStepsEmpty/index.tsx +2 -2
- package/src/components/TestResult/{TestResultAttachmentsView → TrAttachmentsView}/index.tsx +4 -4
- package/src/components/TestResult/{TestResultDescription → TrDescription}/index.tsx +2 -2
- package/src/components/TestResult/{TestResultDropdown → TrDropdown}/index.tsx +1 -1
- package/src/components/TestResult/{TestResultEmpty → TrEmpty}/index.tsx +6 -6
- package/src/components/TestResult/TrEnvironmentItem/index.tsx +82 -0
- package/src/components/TestResult/TrEnvironmentItem/styles.scss +60 -0
- package/src/components/TestResult/TrEnvironmentsView/index.tsx +64 -0
- package/src/components/TestResult/TrEnvironmentsView/styles.scss +11 -0
- package/src/components/TestResult/TrError/TrDiff.tsx +3 -5
- package/src/components/TestResult/TrError/index.tsx +21 -6
- package/src/components/TestResult/TrError/styles.scss +92 -2
- package/src/components/TestResult/{TestResultHeader/TestResultBreadcrumbs.tsx → TrHeader/TrBreadcrumbs.tsx} +3 -3
- package/src/components/TestResult/TrHeader/index.tsx +15 -0
- package/src/components/TestResult/{TestResultHistory/TestResultHistoryItem.tsx → TrHistory/TrHistoryItem.tsx} +3 -3
- package/src/components/TestResult/{TestResultHistory → TrHistory}/index.tsx +5 -5
- package/src/components/TestResult/{TestResultInfo/TestResultInfoStatuses.tsx → TrInfo/TrInfoStatuses.tsx} +1 -1
- package/src/components/TestResult/{TestResultInfo → TrInfo}/index.tsx +37 -23
- package/src/components/TestResult/{TestResultLinks → TrLinks}/index.tsx +6 -6
- package/src/components/TestResult/{TestResultMetadata → TrMetadata}/index.tsx +4 -4
- package/src/components/TestResult/{TestResultNavigation → TrNavigation}/index.tsx +3 -2
- package/src/components/TestResult/TrOverview.tsx +47 -0
- package/src/components/TestResult/{TestResultParameters → TrParameters}/index.tsx +2 -2
- package/src/components/TestResult/{TestResultPrevStatuses → TrPrevStatuses}/index.tsx +6 -6
- package/src/components/TestResult/TrPwTraces/PwTrace.tsx +34 -0
- package/src/components/TestResult/TrPwTraces/PwTraceButton.tsx +33 -0
- package/src/components/TestResult/TrPwTraces/index.tsx +29 -0
- package/src/components/TestResult/TrPwTraces/styles.scss +20 -0
- package/src/components/TestResult/{TestResultRetriesView/TestResultRetriesItem.tsx → TrRetriesView/TrRetriesItem.tsx} +3 -3
- package/src/components/TestResult/{TestResultRetriesView → TrRetriesView}/index.tsx +4 -6
- package/src/components/TestResult/{TestResultSetup → TrSetup}/index.tsx +11 -11
- package/src/components/TestResult/{TestResultSeverity → TrSeverity}/index.tsx +1 -1
- package/src/components/TestResult/{TestResultStatus → TrStatus}/index.tsx +3 -2
- package/src/components/TestResult/{TestResultSteps/testResultAttachment.tsx → TrSteps/TrAttachment.tsx} +10 -7
- package/src/components/TestResult/{TestResultSteps/testResultAttachmentInfo.tsx → TrSteps/TrAttachmentInfo.tsx} +8 -8
- package/src/components/TestResult/{TestResultSteps/testResultStep.tsx → TrSteps/TrStep.tsx} +25 -14
- package/src/components/TestResult/{TestResultSteps/testResultStepInfo.tsx → TrSteps/TrStepInfo.tsx} +2 -2
- package/src/components/TestResult/{TestResultSteps → TrSteps}/index.tsx +8 -8
- package/src/components/TestResult/{TestResultSteps → TrSteps}/styles.scss +2 -1
- package/src/components/TestResult/{TestResultSteps → TrSteps}/wrongAttachment.tsx +1 -1
- package/src/components/TestResult/{TestResultTabs → TrTabs}/index.tsx +6 -6
- package/src/components/TestResult/{TestResultTeardown → TrTeardown}/index.tsx +11 -11
- package/src/components/TestResult/index.tsx +42 -30
- package/src/components/TestResult/styles.scss +2 -1
- package/src/components/Tree/index.tsx +99 -16
- package/src/components/Tree/styles.scss +16 -1
- package/src/index.tsx +36 -33
- package/src/{i18n/locales → locales}/az.json +14 -4
- package/src/{i18n/locales → locales}/de.json +13 -4
- package/src/{i18n/locales → locales}/en.json +15 -6
- package/src/{i18n/locales → locales}/es.json +13 -4
- package/src/{i18n/locales → locales}/fr.json +13 -4
- package/src/{i18n/locales → locales}/he.json +13 -4
- package/src/{i18n/locales/am.json → locales/hy.json} +13 -4
- package/src/{i18n/locales → locales}/it.json +13 -4
- package/src/{i18n/locales → locales}/ja.json +13 -4
- package/src/{i18n/locales → locales}/ka.json +16 -7
- package/src/{i18n/locales → locales}/kr.json +15 -6
- package/src/{i18n/locales → locales}/nl.json +13 -4
- package/src/{i18n/locales → locales}/pl.json +14 -5
- package/src/{i18n/locales → locales}/pt.json +12 -4
- package/src/{i18n/locales → locales}/ru.json +14 -5
- package/src/{i18n/locales → locales}/sv.json +13 -4
- package/src/{i18n/locales → locales}/tr.json +13 -4
- package/src/{i18n/locales → locales}/zh.json +13 -4
- package/src/stores/chart.ts +3 -3
- package/src/stores/env.ts +88 -0
- package/src/stores/locale.ts +4 -4
- package/src/stores/stats.ts +52 -7
- package/src/stores/testResults.ts +6 -6
- package/src/stores/tree.ts +48 -17
- package/src/stores/variables.ts +38 -0
- package/types.d.ts +2 -1
- package/dist/multi/141.app-d01d0c66.js +0 -1
- package/dist/multi/222.app-d01d0c66.js +0 -1
- package/dist/multi/335.app-d01d0c66.js +0 -1
- package/dist/multi/34.app-d01d0c66.js +0 -1
- package/dist/multi/349.app-d01d0c66.js +0 -1
- package/dist/multi/378.app-d01d0c66.js +0 -1
- package/dist/multi/406.app-d01d0c66.js +0 -1
- package/dist/multi/476.app-d01d0c66.js +0 -1
- package/dist/multi/53.app-d01d0c66.js +0 -1
- package/dist/multi/584.app-d01d0c66.js +0 -1
- package/dist/multi/690.app-d01d0c66.js +0 -1
- package/dist/multi/747.app-d01d0c66.js +0 -1
- package/dist/multi/767.app-d01d0c66.js +0 -1
- package/dist/multi/816.app-d01d0c66.js +0 -1
- package/dist/multi/83.app-d01d0c66.js +0 -1
- package/dist/multi/873.app-d01d0c66.js +0 -1
- package/dist/multi/920.app-d01d0c66.js +0 -1
- package/dist/multi/991.app-d01d0c66.js +0 -1
- package/dist/multi/app-d01d0c66.js +0 -2
- package/dist/multi/styles-d01d0c66.css +0 -39
- package/dist/single/app-6596cb08.js +0 -2
- package/src/components/LanguagePicker/index.tsx +0 -40
- package/src/components/ReportLogo/index.tsx +0 -16
- package/src/components/ReportLogo/styles.scss +0 -20
- package/src/components/ReportLogoFull/index.tsx +0 -20
- package/src/components/ReportLogoFull/styles.scss +0 -7
- package/src/components/TestResult/TestResultHeader/index.tsx +0 -21
- package/src/components/TestResult/TestResultOverview.tsx +0 -43
- package/src/components/ThemeButton/ThemeButton.tsx +0 -20
- package/src/i18n/constants.ts +0 -124
- /package/src/components/TestResult/{TestResultAttachmentsView → TrAttachmentsView}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultDescription → TrDescription}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultDropdown → TrDropdown}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultEmpty → TrEmpty}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultHeader → TrHeader}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultHistory → TrHistory}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultInfo → TrInfo}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultLinks → TrLinks}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultMetadata → TrMetadata}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultNavigation → TrNavigation}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultParameters → TrParameters}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultPrevStatuses → TrPrevStatuses}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultRetriesView → TrRetriesView}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultSeverity → TrSeverity}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultStatus → TrStatus}/styles.scss +0 -0
- /package/src/components/TestResult/{TestResultTabs → TrTabs}/styles.scss +0 -0
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
"total": "wszystkie"
|
|
9
9
|
},
|
|
10
10
|
"testSummary": {
|
|
11
|
-
"
|
|
12
|
-
"flaky": "
|
|
13
|
-
"
|
|
11
|
+
"total": "Wszystkie",
|
|
12
|
+
"flaky": "Niestabilne testy",
|
|
13
|
+
"retries": "Powtórne testy",
|
|
14
14
|
"new": "Nowe testy"
|
|
15
15
|
},
|
|
16
16
|
"tabs": {
|
|
@@ -64,7 +64,8 @@
|
|
|
64
64
|
"no-history-results": "Brak dostępnych informacji o historii",
|
|
65
65
|
"no-retries-results": "Brak dostępnych informacji o ponownych próbach",
|
|
66
66
|
"no-test-steps-results": "Brak dostępnych informacji o krokach testowych",
|
|
67
|
-
"no-test-case-results": "Brak wyników przypadków testowych"
|
|
67
|
+
"no-test-case-results": "Brak wyników przypadków testowych",
|
|
68
|
+
"no-environments-results": "Brak dostępnych informacji o środowiskach"
|
|
68
69
|
},
|
|
69
70
|
"severity": {
|
|
70
71
|
"name": "Ważność",
|
|
@@ -80,6 +81,11 @@
|
|
|
80
81
|
"setup": "Przygotowanie",
|
|
81
82
|
"teardown": "Zakończenie"
|
|
82
83
|
},
|
|
84
|
+
"environments": {
|
|
85
|
+
"environment_one": "Środowisko",
|
|
86
|
+
"environment_other": "Środowiska",
|
|
87
|
+
"all": "Wszystkie"
|
|
88
|
+
},
|
|
83
89
|
"ui": {
|
|
84
90
|
"labels": "Labelki",
|
|
85
91
|
"metadata": "Metadane",
|
|
@@ -90,12 +96,15 @@
|
|
|
90
96
|
"history": "Historia",
|
|
91
97
|
"attachments": "Załączniki",
|
|
92
98
|
"retries": "Próby ponowne",
|
|
99
|
+
"environments": "Środowiska",
|
|
93
100
|
"error": "Błąd",
|
|
94
101
|
"goToStep": "Idź do kroku",
|
|
95
102
|
"showLess": "Pokaż mniej",
|
|
96
103
|
"showMore": "Pokaż więcej",
|
|
97
104
|
"copy": "Skopuj",
|
|
98
|
-
"at": "w"
|
|
105
|
+
"at": "w",
|
|
106
|
+
"variables": "Zmienne",
|
|
107
|
+
"openPwTrace": "Otwórz Playwright Trace"
|
|
99
108
|
},
|
|
100
109
|
"controls": {
|
|
101
110
|
"newTabAttachment": "Otwórz w nowej zakładce",
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
"retryTests": "repetir"
|
|
12
12
|
},
|
|
13
13
|
"testSummary": {
|
|
14
|
-
"
|
|
14
|
+
"total": "Total",
|
|
15
15
|
"flaky": "Testes instáveis",
|
|
16
|
-
"
|
|
16
|
+
"retries": "Testes repetidos",
|
|
17
17
|
"new": "Testes novos"
|
|
18
18
|
},
|
|
19
19
|
"tabs": {
|
|
@@ -67,7 +67,8 @@
|
|
|
67
67
|
"no-history-results": "Nenhuma informação de histórico disponível",
|
|
68
68
|
"no-retries-results": "Nenhuma informação de repetições disponível",
|
|
69
69
|
"no-test-steps-results": "Nenhuma informação disponível sobre as etapas do teste",
|
|
70
|
-
"no-test-case-results": "Nenhum resultado de caso de teste"
|
|
70
|
+
"no-test-case-results": "Nenhum resultado de caso de teste",
|
|
71
|
+
"no-environments-results": "Nenhuma informação de ambiente disponível"
|
|
71
72
|
},
|
|
72
73
|
"severity": {
|
|
73
74
|
"blocker": "bloqueador",
|
|
@@ -82,6 +83,11 @@
|
|
|
82
83
|
"setup": "Configuração",
|
|
83
84
|
"teardown": "Desmontagem"
|
|
84
85
|
},
|
|
86
|
+
"environments": {
|
|
87
|
+
"environment_one": "Ambiente",
|
|
88
|
+
"environment_other": "Ambientes",
|
|
89
|
+
"all": "Todos"
|
|
90
|
+
},
|
|
85
91
|
"ui": {
|
|
86
92
|
"labels": "Etiquetas",
|
|
87
93
|
"metadata": "Metadados",
|
|
@@ -92,12 +98,14 @@
|
|
|
92
98
|
"history": "Histórico",
|
|
93
99
|
"attachments": "Anexos",
|
|
94
100
|
"retries": "Repetições",
|
|
101
|
+
"environments": "Ambientes",
|
|
95
102
|
"error": "Erro",
|
|
96
103
|
"goToStep": "Ir para o passo",
|
|
97
104
|
"showLess": "Mostrar menos",
|
|
98
105
|
"showMore": "Mostrar mais",
|
|
99
106
|
"copy": "Copiar",
|
|
100
|
-
"at": "em"
|
|
107
|
+
"at": "em",
|
|
108
|
+
"openPwTrace": "Abrir Playwright Trace"
|
|
101
109
|
},
|
|
102
110
|
"controls": {
|
|
103
111
|
"newTabAttachment": "Abrir anexo em nova aba",
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
"total": "все"
|
|
9
9
|
},
|
|
10
10
|
"testSummary": {
|
|
11
|
-
"
|
|
12
|
-
"flaky": "
|
|
13
|
-
"
|
|
11
|
+
"total": "Всего",
|
|
12
|
+
"flaky": "Нестабильные тесты",
|
|
13
|
+
"retries": "Повторные тесты",
|
|
14
14
|
"new": "Новые тесты"
|
|
15
15
|
},
|
|
16
16
|
"tabs": {
|
|
@@ -64,7 +64,8 @@
|
|
|
64
64
|
"no-history-results": "Информация об истории отсутствует",
|
|
65
65
|
"no-retries-results": "Информация о перезапусках отсутствует",
|
|
66
66
|
"no-test-steps-results": "Нет информации о шагах тестирования",
|
|
67
|
-
"no-test-case-results": "Нет результатов тест-кейсов"
|
|
67
|
+
"no-test-case-results": "Нет результатов тест-кейсов",
|
|
68
|
+
"no-environments-results": "Информация об окружениях отсутствует"
|
|
68
69
|
},
|
|
69
70
|
"severity": {
|
|
70
71
|
"name": "Важность",
|
|
@@ -80,6 +81,11 @@
|
|
|
80
81
|
"setup": "Подготовка",
|
|
81
82
|
"teardown": "Завершение"
|
|
82
83
|
},
|
|
84
|
+
"environments": {
|
|
85
|
+
"environment_one": "Окружение",
|
|
86
|
+
"environment_other": "Окружения",
|
|
87
|
+
"all": "Все"
|
|
88
|
+
},
|
|
83
89
|
"ui": {
|
|
84
90
|
"labels": "Лейблы",
|
|
85
91
|
"metadata": "Метаданные",
|
|
@@ -90,12 +96,15 @@
|
|
|
90
96
|
"history": "История",
|
|
91
97
|
"attachments": "Вложения",
|
|
92
98
|
"retries": "Перезапуски",
|
|
99
|
+
"environments": "Окружения",
|
|
93
100
|
"error": "Ошибка",
|
|
94
101
|
"goToStep": "Перейти к шагу",
|
|
95
102
|
"showLess": "Показать меньше",
|
|
96
103
|
"showMore": "Показать больше",
|
|
97
104
|
"copy": "Скопировать",
|
|
98
|
-
"at": "в"
|
|
105
|
+
"at": "в",
|
|
106
|
+
"variables": "Переменные",
|
|
107
|
+
"openPwTrace": "Открыть Playwright Trace"
|
|
99
108
|
},
|
|
100
109
|
"controls": {
|
|
101
110
|
"newTabAttachment": "Открыть в новой вкладке",
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
"retryTests": "försök igen"
|
|
12
12
|
},
|
|
13
13
|
"testSummary": {
|
|
14
|
-
"
|
|
14
|
+
"total": "Totalt",
|
|
15
15
|
"flaky": "Ostadiga tester",
|
|
16
|
-
"
|
|
16
|
+
"retries": "Omtestade tester",
|
|
17
17
|
"new": "Nya tester"
|
|
18
18
|
},
|
|
19
19
|
"tabs": {
|
|
@@ -67,7 +67,8 @@
|
|
|
67
67
|
"no-history-results": "Ingen historik information tillgänglig",
|
|
68
68
|
"no-retries-results": "Ingen omtagningar information tillgänglig",
|
|
69
69
|
"no-test-steps-results": "Ingen information om teststeg tillgänglig",
|
|
70
|
-
"no-test-case-results": "Inga testfallresultat"
|
|
70
|
+
"no-test-case-results": "Inga testfallresultat",
|
|
71
|
+
"no-environments-results": "Ingen miljöinformation tillgänglig"
|
|
71
72
|
},
|
|
72
73
|
"severity": {
|
|
73
74
|
"blocker": "blockerare",
|
|
@@ -82,6 +83,11 @@
|
|
|
82
83
|
"setup": "Förberedelse",
|
|
83
84
|
"teardown": "Avslutning"
|
|
84
85
|
},
|
|
86
|
+
"environments": {
|
|
87
|
+
"environment_one": "Miljö",
|
|
88
|
+
"environment_other": "Miljöer",
|
|
89
|
+
"all": "Alla"
|
|
90
|
+
},
|
|
85
91
|
"ui": {
|
|
86
92
|
"labels": "Etiketter",
|
|
87
93
|
"metadata": "Metadata",
|
|
@@ -92,12 +98,15 @@
|
|
|
92
98
|
"history": "Historik",
|
|
93
99
|
"attachments": "Bilagor",
|
|
94
100
|
"retries": "Omtagningar",
|
|
101
|
+
"environments": "Miljöer",
|
|
95
102
|
"error": "Fel",
|
|
96
103
|
"goToStep": "Gå till steg",
|
|
97
104
|
"showLess": "Visa mindre",
|
|
98
105
|
"showMore": "Visa mer",
|
|
99
106
|
"copy": "Kopiera",
|
|
100
|
-
"at": "vid"
|
|
107
|
+
"at": "vid",
|
|
108
|
+
"variables": "Variabler",
|
|
109
|
+
"openPwTrace": "Öppna Playwright Trace"
|
|
101
110
|
},
|
|
102
111
|
"controls": {
|
|
103
112
|
"newTabAttachment": "Öppna bilaga i ny flik",
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
"retryTests": "tekrar dene"
|
|
12
12
|
},
|
|
13
13
|
"testSummary": {
|
|
14
|
-
"
|
|
14
|
+
"total": "Toplam",
|
|
15
15
|
"flaky": "İstikrarsız Testler",
|
|
16
|
-
"
|
|
16
|
+
"retries": "Tekrarlanan Testler",
|
|
17
17
|
"new": "Yeni Testler"
|
|
18
18
|
},
|
|
19
19
|
"tabs": {
|
|
@@ -67,7 +67,8 @@
|
|
|
67
67
|
"no-history-results": "Geçmiş bilgisi mevcut değil",
|
|
68
68
|
"no-retries-results": "Tekrar deneme bilgisi mevcut değil",
|
|
69
69
|
"no-test-steps-results": "Test adımları hakkında bilgi mevcut değil",
|
|
70
|
-
"no-test-case-results": "Test vakası sonuçları yok"
|
|
70
|
+
"no-test-case-results": "Test vakası sonuçları yok",
|
|
71
|
+
"no-environments-results": "Ortam bilgisi mevcut değil"
|
|
71
72
|
},
|
|
72
73
|
"severity": {
|
|
73
74
|
"blocker": "engelleyici",
|
|
@@ -82,6 +83,11 @@
|
|
|
82
83
|
"setup": "Kurulum",
|
|
83
84
|
"teardown": "Kapatma"
|
|
84
85
|
},
|
|
86
|
+
"environments": {
|
|
87
|
+
"environment_one": "Ortam",
|
|
88
|
+
"environment_other": "Ortamlar",
|
|
89
|
+
"all": "Tümü"
|
|
90
|
+
},
|
|
85
91
|
"ui": {
|
|
86
92
|
"labels": "Etiketler",
|
|
87
93
|
"metadata": "Meta Veriler",
|
|
@@ -92,12 +98,15 @@
|
|
|
92
98
|
"history": "Geçmiş",
|
|
93
99
|
"attachments": "Ekler",
|
|
94
100
|
"retries": "Tekrar Denemeler",
|
|
101
|
+
"environments": "Ortam",
|
|
95
102
|
"error": "Hata",
|
|
96
103
|
"goToStep": "Adıma git",
|
|
97
104
|
"showLess": "Daha az göster",
|
|
98
105
|
"showMore": "Daha fazla göster",
|
|
99
106
|
"copy": "Kopyala",
|
|
100
|
-
"at": "tarihinde"
|
|
107
|
+
"at": "tarihinde",
|
|
108
|
+
"variables": "Değişkenler",
|
|
109
|
+
"openPwTrace": "Playwright Trace'i aç"
|
|
101
110
|
},
|
|
102
111
|
"controls": {
|
|
103
112
|
"newTabAttachment": "Eki yeni sekmede aç",
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
"retryTests": "重试"
|
|
12
12
|
},
|
|
13
13
|
"testSummary": {
|
|
14
|
-
"
|
|
14
|
+
"total": "总计",
|
|
15
15
|
"flaky": "不稳定的测试",
|
|
16
|
-
"
|
|
16
|
+
"retries": "重试的测试",
|
|
17
17
|
"new": "新的测试"
|
|
18
18
|
},
|
|
19
19
|
"tabs": {
|
|
@@ -67,7 +67,8 @@
|
|
|
67
67
|
"no-history-results": "没有历史信息",
|
|
68
68
|
"no-retries-results": "没有重试信息",
|
|
69
69
|
"no-test-steps-results": "没有可用的测试步骤信息",
|
|
70
|
-
"no-test-case-results": "没有测试用例结果"
|
|
70
|
+
"no-test-case-results": "没有测试用例结果",
|
|
71
|
+
"no-environments-results": "没有环境信息"
|
|
71
72
|
},
|
|
72
73
|
"severity": {
|
|
73
74
|
"blocker": "阻断",
|
|
@@ -82,6 +83,11 @@
|
|
|
82
83
|
"setup": "设置",
|
|
83
84
|
"teardown": "拆解"
|
|
84
85
|
},
|
|
86
|
+
"environments": {
|
|
87
|
+
"environment_one": "环境",
|
|
88
|
+
"environment_other": "环境",
|
|
89
|
+
"all": "所有"
|
|
90
|
+
},
|
|
85
91
|
"ui": {
|
|
86
92
|
"labels": "标签",
|
|
87
93
|
"metadata": "元数据",
|
|
@@ -92,12 +98,15 @@
|
|
|
92
98
|
"history": "历史",
|
|
93
99
|
"attachments": "附件",
|
|
94
100
|
"retries": "重试",
|
|
101
|
+
"environments": "环境",
|
|
95
102
|
"error": "错误",
|
|
96
103
|
"goToStep": "跳转到步骤",
|
|
97
104
|
"showLess": "显示更少",
|
|
98
105
|
"showMore": "显示更多",
|
|
99
106
|
"copy": "复制",
|
|
100
|
-
"at": "在"
|
|
107
|
+
"at": "在",
|
|
108
|
+
"variables": "变量",
|
|
109
|
+
"openPwTrace": "打开 Playwright Trace"
|
|
101
110
|
},
|
|
102
111
|
"controls": {
|
|
103
112
|
"newTabAttachment": "在新标签页中打开附件",
|
package/src/stores/chart.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { fetchReportJsonData } from "@allurereport/web-commons";
|
|
2
2
|
import { signal } from "@preact/signals";
|
|
3
|
-
import { StoreSignalState } from "@/stores/types";
|
|
3
|
+
import type { StoreSignalState } from "@/stores/types";
|
|
4
4
|
|
|
5
5
|
export const pieChartStore = signal<StoreSignalState<any>>({
|
|
6
6
|
loading: true,
|
|
@@ -8,7 +8,7 @@ export const pieChartStore = signal<StoreSignalState<any>>({
|
|
|
8
8
|
data: undefined,
|
|
9
9
|
});
|
|
10
10
|
|
|
11
|
-
export const fetchPieChartData = async () => {
|
|
11
|
+
export const fetchPieChartData = async (env: string) => {
|
|
12
12
|
pieChartStore.value = {
|
|
13
13
|
...pieChartStore.value,
|
|
14
14
|
loading: true,
|
|
@@ -16,7 +16,7 @@ export const fetchPieChartData = async () => {
|
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
try {
|
|
19
|
-
const res = await fetchReportJsonData("widgets/
|
|
19
|
+
const res = await fetchReportJsonData(env ? `widgets/${env}/pie_chart.json` : "widgets/pie_chart.json");
|
|
20
20
|
|
|
21
21
|
pieChartStore.value = {
|
|
22
22
|
data: res,
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { type TestEnvGroup } from "@allurereport/core-api";
|
|
2
|
+
import { fetchReportJsonData } from "@allurereport/web-commons";
|
|
3
|
+
import { effect, signal } from "@preact/signals";
|
|
4
|
+
import type { StoreSignalState } from "@/stores/types";
|
|
5
|
+
import { loadFromLocalStorage } from "@/utils/loadFromLocalStorage";
|
|
6
|
+
|
|
7
|
+
export const environmentsStore = signal<StoreSignalState<string[]>>({
|
|
8
|
+
loading: false,
|
|
9
|
+
error: undefined,
|
|
10
|
+
data: [],
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
export const testEnvGroupsStore = signal<StoreSignalState<Record<string, TestEnvGroup>>>({
|
|
14
|
+
loading: false,
|
|
15
|
+
error: undefined,
|
|
16
|
+
data: {},
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
export const collapsedEnvironments = signal<string[]>(loadFromLocalStorage<string[]>("collapsedEnvironments", []));
|
|
20
|
+
|
|
21
|
+
export const currentEnvironment = signal<string>(loadFromLocalStorage<string>("currentEnvironment", ""));
|
|
22
|
+
|
|
23
|
+
export const setCurrentEnvironment = (env: string) => {
|
|
24
|
+
currentEnvironment.value = env;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export const fetchEnvironments = async () => {
|
|
28
|
+
environmentsStore.value = {
|
|
29
|
+
...environmentsStore.value,
|
|
30
|
+
loading: true,
|
|
31
|
+
error: undefined,
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
try {
|
|
35
|
+
const res = await fetchReportJsonData<string[]>("widgets/environments.json");
|
|
36
|
+
|
|
37
|
+
environmentsStore.value = {
|
|
38
|
+
data: res,
|
|
39
|
+
error: undefined,
|
|
40
|
+
loading: false,
|
|
41
|
+
};
|
|
42
|
+
} catch (e) {
|
|
43
|
+
environmentsStore.value = {
|
|
44
|
+
...environmentsStore.value,
|
|
45
|
+
error: e.message,
|
|
46
|
+
loading: false,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export const fetchTestEnvGroup = async (id: string) => {
|
|
52
|
+
if (testEnvGroupsStore.value.data[id]) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
testEnvGroupsStore.value = {
|
|
57
|
+
...testEnvGroupsStore.value,
|
|
58
|
+
loading: true,
|
|
59
|
+
error: undefined,
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
try {
|
|
63
|
+
const res = await fetchReportJsonData<TestEnvGroup | undefined>(`data/test-env-groups/${id}.json`);
|
|
64
|
+
|
|
65
|
+
testEnvGroupsStore.value = {
|
|
66
|
+
data: {
|
|
67
|
+
...testEnvGroupsStore.value.data,
|
|
68
|
+
[id]: res,
|
|
69
|
+
},
|
|
70
|
+
error: undefined,
|
|
71
|
+
loading: false,
|
|
72
|
+
};
|
|
73
|
+
} catch (e) {
|
|
74
|
+
testEnvGroupsStore.value = {
|
|
75
|
+
...testEnvGroupsStore.value,
|
|
76
|
+
error: e.message,
|
|
77
|
+
loading: false,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
effect(() => {
|
|
83
|
+
localStorage.setItem("currentEnvironment", JSON.stringify(currentEnvironment.value));
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
effect(() => {
|
|
87
|
+
localStorage.setItem("collapsedEnvironments", JSON.stringify([...collapsedEnvironments.value]));
|
|
88
|
+
});
|
package/src/stores/locale.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { getReportOptions } from "@allurereport/web-commons";
|
|
1
|
+
import { DEFAULT_LOCALE, LANG_LOCALE, type LangLocale, getReportOptions } from "@allurereport/web-commons";
|
|
2
2
|
import { computed, signal } from "@preact/signals";
|
|
3
3
|
import i18next, { type TOptions } from "i18next";
|
|
4
4
|
import type { AwesomeReportOptions } from "types";
|
|
5
|
-
import { DEFAULT_LOCALE, LANG_LOCALE, type LangLocale } from "@/i18n/constants";
|
|
6
5
|
|
|
7
6
|
const namespaces = [
|
|
8
7
|
"empty",
|
|
@@ -22,10 +21,11 @@ const namespaces = [
|
|
|
22
21
|
"errors",
|
|
23
22
|
"split",
|
|
24
23
|
"modal",
|
|
24
|
+
"environments",
|
|
25
25
|
];
|
|
26
26
|
|
|
27
27
|
export const currentLocale = signal<LangLocale>("en" as LangLocale);
|
|
28
|
-
export const currentLocaleIso = computed(() => LANG_LOCALE[currentLocale.value].iso);
|
|
28
|
+
export const currentLocaleIso = computed(() => LANG_LOCALE[currentLocale.value]?.iso ?? LANG_LOCALE.en.iso);
|
|
29
29
|
export const currentLocaleIsRTL = computed(() => ["ar", "he", "fa"].includes(currentLocale.value));
|
|
30
30
|
|
|
31
31
|
export const getLocale = async () => {
|
|
@@ -43,7 +43,7 @@ export const waitForI18next = i18next
|
|
|
43
43
|
namespace: string,
|
|
44
44
|
callback: (errorValue: unknown, translations: null) => void,
|
|
45
45
|
) => {
|
|
46
|
-
await import(`@/
|
|
46
|
+
await import(`@/locales/${language}.json`)
|
|
47
47
|
.then((resources: Record<string, null>) => {
|
|
48
48
|
callback(null, resources[namespace]);
|
|
49
49
|
})
|
package/src/stores/stats.ts
CHANGED
|
@@ -2,8 +2,9 @@ import type { Statistic } from "@allurereport/core-api";
|
|
|
2
2
|
import { fetchReportJsonData } from "@allurereport/web-commons";
|
|
3
3
|
import { signal } from "@preact/signals";
|
|
4
4
|
import type { StoreSignalState } from "@/stores/types";
|
|
5
|
+
import type { AwesomeTree } from "../../types";
|
|
5
6
|
|
|
6
|
-
export const
|
|
7
|
+
export const reportStatsStore = signal<StoreSignalState<Statistic>>({
|
|
7
8
|
loading: true,
|
|
8
9
|
error: undefined,
|
|
9
10
|
data: {
|
|
@@ -11,26 +12,70 @@ export const statsStore = signal<StoreSignalState<Statistic>>({
|
|
|
11
12
|
},
|
|
12
13
|
});
|
|
13
14
|
|
|
14
|
-
export const
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
export const statsByEnvStore = signal<StoreSignalState<Record<string, Statistic>>>({
|
|
16
|
+
loading: true,
|
|
17
|
+
error: undefined,
|
|
18
|
+
data: {},
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
export const fetchReportStats = async () => {
|
|
22
|
+
reportStatsStore.value = {
|
|
23
|
+
...reportStatsStore.value,
|
|
17
24
|
loading: true,
|
|
18
25
|
error: undefined,
|
|
19
26
|
};
|
|
20
27
|
|
|
21
28
|
try {
|
|
22
|
-
const res = await fetchReportJsonData<Statistic>("widgets/
|
|
29
|
+
const res = await fetchReportJsonData<Statistic>("widgets/statistic.json");
|
|
23
30
|
|
|
24
|
-
|
|
31
|
+
reportStatsStore.value = {
|
|
25
32
|
data: res,
|
|
26
33
|
error: undefined,
|
|
27
34
|
loading: false,
|
|
28
35
|
};
|
|
29
36
|
} catch (err) {
|
|
30
|
-
|
|
37
|
+
reportStatsStore.value = {
|
|
31
38
|
data: { total: 0 },
|
|
32
39
|
error: err.message,
|
|
33
40
|
loading: false,
|
|
34
41
|
};
|
|
35
42
|
}
|
|
36
43
|
};
|
|
44
|
+
|
|
45
|
+
export const fetchEnvStats = async (envs: string[]) => {
|
|
46
|
+
const envsToFetch = envs.filter((env) => !statsByEnvStore.value.data?.[env]);
|
|
47
|
+
|
|
48
|
+
// all envs have already been fetched
|
|
49
|
+
if (envsToFetch.length === 0) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
statsByEnvStore.value = {
|
|
54
|
+
...statsByEnvStore.value,
|
|
55
|
+
loading: true,
|
|
56
|
+
error: undefined,
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
try {
|
|
60
|
+
const data = await Promise.all(
|
|
61
|
+
envsToFetch.map((env) => fetchReportJsonData<AwesomeTree>(`widgets/${env}/statistic.json`)),
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
statsByEnvStore.value = {
|
|
65
|
+
data: envs.reduce((acc, env, index) => {
|
|
66
|
+
return {
|
|
67
|
+
...acc,
|
|
68
|
+
[env]: data[index],
|
|
69
|
+
};
|
|
70
|
+
}, {}),
|
|
71
|
+
loading: false,
|
|
72
|
+
error: undefined,
|
|
73
|
+
};
|
|
74
|
+
} catch (err) {
|
|
75
|
+
statsByEnvStore.value = {
|
|
76
|
+
...statsByEnvStore.value,
|
|
77
|
+
error: err.message,
|
|
78
|
+
loading: false,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
};
|
|
@@ -3,25 +3,25 @@ import { signal } from "@preact/signals";
|
|
|
3
3
|
import { type AwesomeTestResult } from "../../types";
|
|
4
4
|
import { type StoreSignalState } from "./types";
|
|
5
5
|
|
|
6
|
-
export type
|
|
6
|
+
export type TrStoreState = Record<string, AwesomeTestResult>;
|
|
7
7
|
|
|
8
|
-
export type
|
|
8
|
+
export type TrNavStoreState = string[];
|
|
9
9
|
|
|
10
|
-
export const testResultStore = signal<StoreSignalState<
|
|
10
|
+
export const testResultStore = signal<StoreSignalState<TrStoreState>>({
|
|
11
11
|
loading: true,
|
|
12
12
|
error: undefined,
|
|
13
13
|
data: undefined,
|
|
14
14
|
});
|
|
15
15
|
|
|
16
|
-
export const testResultNavStore = signal<StoreSignalState<
|
|
16
|
+
export const testResultNavStore = signal<StoreSignalState<TrNavStoreState>>({
|
|
17
17
|
loading: true,
|
|
18
18
|
error: undefined,
|
|
19
19
|
data: undefined,
|
|
20
20
|
});
|
|
21
21
|
|
|
22
|
-
export const fetchTestResultNav = async () => {
|
|
22
|
+
export const fetchTestResultNav = async (env?: string) => {
|
|
23
23
|
try {
|
|
24
|
-
const data = await fetchReportJsonData<string[]>("widgets/nav.json");
|
|
24
|
+
const data = await fetchReportJsonData<string[]>(env ? `widgets/${env}/nav.json` : "widgets/nav.json");
|
|
25
25
|
|
|
26
26
|
testResultNavStore.value = {
|
|
27
27
|
data,
|
package/src/stores/tree.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { fetchReportJsonData } from "@allurereport/web-commons";
|
|
2
|
+
import type { RecursiveTree } from "@allurereport/web-components/global";
|
|
2
3
|
import { computed, effect, signal } from "@preact/signals";
|
|
3
4
|
import type { AwesomeStatus, AwesomeTree, AwesomeTreeGroup } from "types";
|
|
4
5
|
import type { StoreSignalState } from "@/stores/types";
|
|
@@ -16,16 +17,19 @@ export type TreeFiltersState = {
|
|
|
16
17
|
direction: TreeDirection;
|
|
17
18
|
};
|
|
18
19
|
|
|
19
|
-
export const treeStore = signal<StoreSignalState<AwesomeTree
|
|
20
|
+
export const treeStore = signal<StoreSignalState<Record<string, AwesomeTree>>>({
|
|
20
21
|
loading: true,
|
|
21
22
|
error: undefined,
|
|
22
23
|
data: undefined,
|
|
23
24
|
});
|
|
24
25
|
|
|
25
|
-
export const noTests = computed(() =>
|
|
26
|
+
export const noTests = computed(() => {
|
|
27
|
+
return Object.values(treeStore?.value?.data ?? {}).every(
|
|
28
|
+
({ leavesById }) => !leavesById || !Object.keys(leavesById).length,
|
|
29
|
+
);
|
|
30
|
+
});
|
|
26
31
|
|
|
27
|
-
const
|
|
28
|
-
export const collapsedTrees = signal(new Set(loadedFromLS as string[]));
|
|
32
|
+
export const collapsedTrees = signal(new Set(loadFromLocalStorage<string[]>("collapsedTrees", [])));
|
|
29
33
|
|
|
30
34
|
effect(() => {
|
|
31
35
|
localStorage.setItem("collapsedTrees", JSON.stringify([...collapsedTrees.value]));
|
|
@@ -66,18 +70,30 @@ effect(() => {
|
|
|
66
70
|
});
|
|
67
71
|
|
|
68
72
|
export const filteredTree = computed(() => {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
return Object.entries(treeStore.value.data).reduce(
|
|
74
|
+
(acc, [key, value]) => {
|
|
75
|
+
if (!value) {
|
|
76
|
+
return acc;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const { root, leavesById, groupsById } = value;
|
|
80
|
+
const tree = createRecursiveTree({
|
|
81
|
+
group: root as AwesomeTreeGroup,
|
|
82
|
+
leavesById,
|
|
83
|
+
groupsById,
|
|
84
|
+
filterOptions: treeFiltersStore.value,
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
return Object.assign(acc, {
|
|
88
|
+
[key]: tree,
|
|
89
|
+
});
|
|
90
|
+
},
|
|
91
|
+
{} as Record<string, RecursiveTree>,
|
|
92
|
+
);
|
|
77
93
|
});
|
|
78
94
|
|
|
79
95
|
export const noTestsFound = computed(() => {
|
|
80
|
-
return
|
|
96
|
+
return Object.values(filteredTree.value).every(isRecursiveTreeEmpty);
|
|
81
97
|
});
|
|
82
98
|
|
|
83
99
|
export const clearTreeFilters = () => {
|
|
@@ -132,7 +148,14 @@ export const setTreeFilter = (filterKey: TreeFilters, value: boolean) => {
|
|
|
132
148
|
};
|
|
133
149
|
};
|
|
134
150
|
|
|
135
|
-
export const
|
|
151
|
+
export const fetchEnvTreesData = async (envs: string[]) => {
|
|
152
|
+
const envsToFetch = envs.filter((env) => !treeStore.value.data?.[env]);
|
|
153
|
+
|
|
154
|
+
// all envs have already been fetched
|
|
155
|
+
if (envsToFetch.length === 0) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
|
|
136
159
|
treeStore.value = {
|
|
137
160
|
...treeStore.value,
|
|
138
161
|
loading: true,
|
|
@@ -140,12 +163,20 @@ export const fetchTreeData = async () => {
|
|
|
140
163
|
};
|
|
141
164
|
|
|
142
165
|
try {
|
|
143
|
-
const
|
|
166
|
+
const data = await Promise.all(
|
|
167
|
+
envsToFetch.map((env) => fetchReportJsonData<AwesomeTree>(`widgets/${env}/tree.json`)),
|
|
168
|
+
);
|
|
144
169
|
|
|
145
170
|
treeStore.value = {
|
|
146
|
-
data:
|
|
147
|
-
|
|
171
|
+
data: envs.reduce(
|
|
172
|
+
(acc, env, index) => ({
|
|
173
|
+
...acc,
|
|
174
|
+
[env]: data[index],
|
|
175
|
+
}),
|
|
176
|
+
{},
|
|
177
|
+
),
|
|
148
178
|
loading: false,
|
|
179
|
+
error: undefined,
|
|
149
180
|
};
|
|
150
181
|
} catch (e) {
|
|
151
182
|
treeStore.value = {
|