complexqa_frontend_core 1.27.1 → 1.27.3
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/package.json +1 -1
- package/publish/app_configuration/table/helpers/column_factory.js +14 -4
- package/publish/app_configuration/table/helpers/execution_context_listing_fields.js +1 -0
- package/publish/app_configuration/table/sections/custom_property.js +0 -1
- package/publish/app_configuration/table/sections/execution_context.js +1 -4
- package/publish/app_configuration/table/sections/tag.js +0 -2
- package/publish/app_configuration/table/sections/test_account.js +0 -2
- package/publish/app_configuration/table/sections/test_run.js +2 -2
- package/publish/types/core/0_familyGeneralElement.js +6 -1
- package/publish/types/element_translate/typeTestCase.i18n.js +44 -0
- package/publish/types/element_translate/typeTestRunResult.i18n.js +11 -11
- package/publish/types/family_elements/typeTestRunResult.js +1 -1
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@ import { typeTableColumn } from '../../../types/family_service/typeTableColumn.j
|
|
|
6
6
|
*/
|
|
7
7
|
const COLUMN_DEFAULTS = {
|
|
8
8
|
width : '120',
|
|
9
|
-
sort_order : '
|
|
9
|
+
sort_order : '2',
|
|
10
10
|
cell_classes: '',
|
|
11
11
|
default_sort: '',
|
|
12
12
|
is_sortable : true,
|
|
@@ -41,6 +41,7 @@ const COLUMN_DEFAULTS = {
|
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
43
|
* Data-колонка с переводимым заголовком и сохранённым `header_field`.
|
|
44
|
+
* Если `field` совпадает с `model.get_primary_key()`, `is_editable` всегда `false`.
|
|
44
45
|
*
|
|
45
46
|
* @param {import('../../../types/core/0_familyGeneralElement.js').familyGeneralElement} model
|
|
46
47
|
* Модель сущности секции.
|
|
@@ -60,6 +61,9 @@ export function createColumn(model, locale, field, overrides = {})
|
|
|
60
61
|
{
|
|
61
62
|
const header_field = overrides.header_field || field;
|
|
62
63
|
const header_model = overrides.header_model || model;
|
|
64
|
+
const primary_key = typeof model.get_primary_key === 'function'
|
|
65
|
+
? model.get_primary_key()
|
|
66
|
+
: null;
|
|
63
67
|
|
|
64
68
|
return new typeTableColumn({
|
|
65
69
|
...COLUMN_DEFAULTS,
|
|
@@ -67,13 +71,15 @@ export function createColumn(model, locale, field, overrides = {})
|
|
|
67
71
|
header_name: overrides.header_name ?? header_model.get_attribute_name_translate(header_field, locale),
|
|
68
72
|
field,
|
|
69
73
|
...overrides,
|
|
74
|
+
...(primary_key && field === primary_key ? { is_editable: false } : {}),
|
|
70
75
|
});
|
|
71
76
|
}
|
|
72
77
|
|
|
73
78
|
|
|
74
79
|
/**
|
|
75
80
|
* Колонка множественного выбора строк (`column_kind: row_select`).
|
|
76
|
-
* Без `header_field` — не локализуется.
|
|
81
|
+
* Без `header_field` — не локализуется.
|
|
82
|
+
* `sort_order: 0` — всегда первая. В web_app: pinned left, чекбоксы.
|
|
77
83
|
*
|
|
78
84
|
* @param {Partial<typeTableColumn>} [overrides={}]
|
|
79
85
|
* @returns {typeTableColumn}
|
|
@@ -97,6 +103,8 @@ export function createRowSelectColumn(overrides = {})
|
|
|
97
103
|
/**
|
|
98
104
|
* Колонка перехода к деталям (`column_kind: goto`).
|
|
99
105
|
* Заголовок в UI — через `translateGoToHeader` в web_app, не через ядро.
|
|
106
|
+
* `sort_order: 1` — вторая после `row_select` (data-колонки по умолчанию `2`).
|
|
107
|
+
* В web_app: pinned left, как чекбокс.
|
|
100
108
|
*
|
|
101
109
|
* @param {import('../../../types/core/0_familyGeneralElement.js').familyGeneralElement} model
|
|
102
110
|
* @param {string} locale Не используется; сохранён для единообразия API фабрик.
|
|
@@ -111,8 +119,8 @@ export function createGoToColumn(model, locale, overrides = {})
|
|
|
111
119
|
...COLUMN_DEFAULTS,
|
|
112
120
|
header_name : 'goto',
|
|
113
121
|
field : primary_key,
|
|
114
|
-
width : '
|
|
115
|
-
sort_order : '
|
|
122
|
+
width : '40',
|
|
123
|
+
sort_order : '1',
|
|
116
124
|
is_sortable : false,
|
|
117
125
|
is_filter : false,
|
|
118
126
|
column_kind : 'goto',
|
|
@@ -123,6 +131,7 @@ export function createGoToColumn(model, locale, overrides = {})
|
|
|
123
131
|
|
|
124
132
|
/**
|
|
125
133
|
* Колонка primary key (часто скрытая в listing, видимая в todo).
|
|
134
|
+
* `is_editable` всегда `false`: идентификатор строки нельзя менять с фронта.
|
|
126
135
|
*
|
|
127
136
|
* @param {import('../../../types/core/0_familyGeneralElement.js').familyGeneralElement} model
|
|
128
137
|
* @param {string} locale
|
|
@@ -138,6 +147,7 @@ export function createPrimaryKeyColumn(model, locale, overrides = {})
|
|
|
138
147
|
default_sort: 'desc',
|
|
139
148
|
is_hide : false,
|
|
140
149
|
...overrides,
|
|
150
|
+
is_editable : false,
|
|
141
151
|
});
|
|
142
152
|
}
|
|
143
153
|
|
|
@@ -17,6 +17,7 @@ export function get_execution_context_listing_field_specs()
|
|
|
17
17
|
{ field: 'deployment_target_context_id', overrides: { width: '200' } },
|
|
18
18
|
{ field: 'protocol', overrides: { width: '120' } },
|
|
19
19
|
{ field: 'host', overrides: { width: '200' } },
|
|
20
|
+
{ field: 'base_url', overrides: { width: '250' } },
|
|
20
21
|
{ field: 'build_version', overrides: { width: '160' } },
|
|
21
22
|
{ field: 'created_at', overrides: { width: '170' } },
|
|
22
23
|
];
|
|
@@ -19,6 +19,7 @@ const EXECUTION_CONTEXT_EDITABLE_FIELDS = new Set([
|
|
|
19
19
|
...FK_FIELDS,
|
|
20
20
|
'protocol',
|
|
21
21
|
'host',
|
|
22
|
+
'base_url',
|
|
22
23
|
'build_version',
|
|
23
24
|
]);
|
|
24
25
|
|
|
@@ -48,9 +49,6 @@ function build_execution_context_details_columns(locale)
|
|
|
48
49
|
const model = new typeExecutionContext();
|
|
49
50
|
const fields = [
|
|
50
51
|
'execution_context_id',
|
|
51
|
-
'project_id',
|
|
52
|
-
'team_id',
|
|
53
|
-
'context_title',
|
|
54
52
|
...FK_FIELDS,
|
|
55
53
|
'protocol',
|
|
56
54
|
'host',
|
|
@@ -61,7 +59,6 @@ function build_execution_context_details_columns(locale)
|
|
|
61
59
|
];
|
|
62
60
|
|
|
63
61
|
const editableFields = new Set([
|
|
64
|
-
'context_title',
|
|
65
62
|
...FK_FIELDS,
|
|
66
63
|
'protocol',
|
|
67
64
|
'host',
|
|
@@ -13,7 +13,7 @@ function build_test_run_listing_columns(locale, { include_select = true } = {})
|
|
|
13
13
|
columns.push(createRowSelectColumn());
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
columns.push(createPrimaryKeyColumn(model, locale
|
|
16
|
+
columns.push(createPrimaryKeyColumn(model, locale));
|
|
17
17
|
columns.push(createColumn(model, locale, 'test_run_name', {
|
|
18
18
|
width : '480',
|
|
19
19
|
is_editable : true,
|
|
@@ -45,7 +45,7 @@ function build_test_run_todo_columns(locale)
|
|
|
45
45
|
const model = new typeTestRun();
|
|
46
46
|
|
|
47
47
|
return [
|
|
48
|
-
createPrimaryKeyColumn(model, locale
|
|
48
|
+
createPrimaryKeyColumn(model, locale),
|
|
49
49
|
createColumn(model, locale, 'test_run_name', {
|
|
50
50
|
width : '480',
|
|
51
51
|
is_editable : true,
|
|
@@ -615,11 +615,16 @@ export class familyGeneralElement
|
|
|
615
615
|
if (!payload)
|
|
616
616
|
{
|
|
617
617
|
payload = element;
|
|
618
|
-
//payload[ this.get_primary_key() ] = element[ this.get_primary_key() ];
|
|
619
618
|
}
|
|
620
619
|
|
|
621
620
|
payload = this.normalize_payload(payload);
|
|
622
621
|
|
|
622
|
+
const primary_key = this.get_primary_key();
|
|
623
|
+
if (primary_key && element[primary_key] != null && element[primary_key] !== '')
|
|
624
|
+
{
|
|
625
|
+
payload[primary_key] = element[primary_key];
|
|
626
|
+
}
|
|
627
|
+
|
|
623
628
|
if (typeof callback?.before === 'function')
|
|
624
629
|
{
|
|
625
630
|
callback?.before({ payload });
|
|
@@ -15,6 +15,10 @@ export const typeTestCase_i18n = {
|
|
|
15
15
|
test_case_status : 'Status',
|
|
16
16
|
test_case_title : 'Title',
|
|
17
17
|
test_case_descriptions : 'Descriptions',
|
|
18
|
+
excepted_result : 'Expected result',
|
|
19
|
+
preconditions : 'Preconditions',
|
|
20
|
+
presteps : 'Presteps',
|
|
21
|
+
steps : 'Steps',
|
|
18
22
|
test_case_time_to_execute: 'Time to execute',
|
|
19
23
|
test_case_complexity : 'Complexity',
|
|
20
24
|
test_case_importance : 'Importance',
|
|
@@ -31,6 +35,10 @@ export const typeTestCase_i18n = {
|
|
|
31
35
|
test_case_status : 'Статус',
|
|
32
36
|
test_case_title : 'Название',
|
|
33
37
|
test_case_descriptions : 'Описание',
|
|
38
|
+
excepted_result : 'Ожидаемый результат',
|
|
39
|
+
preconditions : 'Предварительные условия',
|
|
40
|
+
presteps : 'Предварительные шаги',
|
|
41
|
+
steps : 'Шаги',
|
|
34
42
|
test_case_time_to_execute: 'Время выполнения',
|
|
35
43
|
test_case_complexity : 'Сложность',
|
|
36
44
|
test_case_importance : 'Важность',
|
|
@@ -47,6 +55,10 @@ export const typeTestCase_i18n = {
|
|
|
47
55
|
test_case_status : 'Status',
|
|
48
56
|
test_case_title : 'Titel',
|
|
49
57
|
test_case_descriptions : 'Beschreibung',
|
|
58
|
+
excepted_result : 'Erwartetes Ergebnis',
|
|
59
|
+
preconditions : 'Vorbedingungen',
|
|
60
|
+
presteps : 'Vorbereitungsschritte',
|
|
61
|
+
steps : 'Schritte',
|
|
50
62
|
test_case_time_to_execute: 'Ausführungszeit',
|
|
51
63
|
test_case_complexity : 'Komplexität',
|
|
52
64
|
test_case_importance : 'Wichtigkeit',
|
|
@@ -63,6 +75,10 @@ export const typeTestCase_i18n = {
|
|
|
63
75
|
test_case_status : 'الحالة',
|
|
64
76
|
test_case_title : 'العنوان',
|
|
65
77
|
test_case_descriptions : 'الوصف',
|
|
78
|
+
excepted_result : 'النتيجة المتوقعة',
|
|
79
|
+
preconditions : 'الشروط المسبقة',
|
|
80
|
+
presteps : 'الخطوات التمهيدية',
|
|
81
|
+
steps : 'الخطوات',
|
|
66
82
|
test_case_time_to_execute: 'وقت التنفيذ',
|
|
67
83
|
test_case_complexity : 'التعقيد',
|
|
68
84
|
test_case_importance : 'الأهمية',
|
|
@@ -79,6 +95,10 @@ export const typeTestCase_i18n = {
|
|
|
79
95
|
test_case_status : 'Estado',
|
|
80
96
|
test_case_title : 'Título',
|
|
81
97
|
test_case_descriptions : 'Descripción',
|
|
98
|
+
excepted_result : 'Resultado esperado',
|
|
99
|
+
preconditions : 'Precondiciones',
|
|
100
|
+
presteps : 'Pasos previos',
|
|
101
|
+
steps : 'Pasos',
|
|
82
102
|
test_case_time_to_execute: 'Tiempo de ejecución',
|
|
83
103
|
test_case_complexity : 'Complejidad',
|
|
84
104
|
test_case_importance : 'Importancia',
|
|
@@ -95,6 +115,10 @@ export const typeTestCase_i18n = {
|
|
|
95
115
|
test_case_status : 'Statut',
|
|
96
116
|
test_case_title : 'Titre',
|
|
97
117
|
test_case_descriptions : 'Description',
|
|
118
|
+
excepted_result : 'Résultat attendu',
|
|
119
|
+
preconditions : 'Préconditions',
|
|
120
|
+
presteps : 'Étapes préalables',
|
|
121
|
+
steps : 'Étapes',
|
|
98
122
|
test_case_time_to_execute: 'Temps d\'exécution',
|
|
99
123
|
test_case_complexity : 'Complexité',
|
|
100
124
|
test_case_importance : 'Importance',
|
|
@@ -111,6 +135,10 @@ export const typeTestCase_i18n = {
|
|
|
111
135
|
test_case_status : 'Կարգավիճակ',
|
|
112
136
|
test_case_title : 'Վերնագիր',
|
|
113
137
|
test_case_descriptions : 'Նկարագրություն',
|
|
138
|
+
excepted_result : 'Սպասվող արդյունք',
|
|
139
|
+
preconditions : 'Նախապայմաններ',
|
|
140
|
+
presteps : 'Նախնական քայլեր',
|
|
141
|
+
steps : 'Քայլեր',
|
|
114
142
|
test_case_time_to_execute: 'Կատարման ժամանակ',
|
|
115
143
|
test_case_complexity : 'Բարդություն',
|
|
116
144
|
test_case_importance : 'Կարևորություն',
|
|
@@ -127,6 +155,10 @@ export const typeTestCase_i18n = {
|
|
|
127
155
|
test_case_status : 'Stato',
|
|
128
156
|
test_case_title : 'Titolo',
|
|
129
157
|
test_case_descriptions : 'Descrizione',
|
|
158
|
+
excepted_result : 'Risultato atteso',
|
|
159
|
+
preconditions : 'Precondizioni',
|
|
160
|
+
presteps : 'Passaggi preliminari',
|
|
161
|
+
steps : 'Passaggi',
|
|
130
162
|
test_case_time_to_execute: 'Tempo di esecuzione',
|
|
131
163
|
test_case_complexity : 'Complessità',
|
|
132
164
|
test_case_importance : 'Importanza',
|
|
@@ -143,6 +175,10 @@ export const typeTestCase_i18n = {
|
|
|
143
175
|
test_case_status : 'Status',
|
|
144
176
|
test_case_title : 'Tytuł',
|
|
145
177
|
test_case_descriptions : 'Opis',
|
|
178
|
+
excepted_result : 'Oczekiwany wynik',
|
|
179
|
+
preconditions : 'Warunki wstępne',
|
|
180
|
+
presteps : 'Kroki wstępne',
|
|
181
|
+
steps : 'Kroki',
|
|
146
182
|
test_case_time_to_execute: 'Czas wykonania',
|
|
147
183
|
test_case_complexity : 'Złożoność',
|
|
148
184
|
test_case_importance : 'Ważność',
|
|
@@ -159,6 +195,10 @@ export const typeTestCase_i18n = {
|
|
|
159
195
|
test_case_status : 'Estado',
|
|
160
196
|
test_case_title : 'Título',
|
|
161
197
|
test_case_descriptions : 'Descrição',
|
|
198
|
+
excepted_result : 'Resultado esperado',
|
|
199
|
+
preconditions : 'Pré-condições',
|
|
200
|
+
presteps : 'Passos preliminares',
|
|
201
|
+
steps : 'Passos',
|
|
162
202
|
test_case_time_to_execute: 'Tempo de execução',
|
|
163
203
|
test_case_complexity : 'Complexidade',
|
|
164
204
|
test_case_importance : 'Importância',
|
|
@@ -175,6 +215,10 @@ export const typeTestCase_i18n = {
|
|
|
175
215
|
test_case_status : 'Статус',
|
|
176
216
|
test_case_title : 'Исем',
|
|
177
217
|
test_case_descriptions : 'Тасвирлау',
|
|
218
|
+
excepted_result : 'Көтелгән нәтиҗә',
|
|
219
|
+
preconditions : 'Алшартлар',
|
|
220
|
+
presteps : 'Алдагы адымнар',
|
|
221
|
+
steps : 'Адымнар',
|
|
178
222
|
test_case_time_to_execute: 'Башкару вакыты',
|
|
179
223
|
test_case_complexity : 'Мураккаслык',
|
|
180
224
|
test_case_importance : 'Мөһимлек',
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
export const typeTestRunResult_i18n = {
|
|
7
7
|
attribute_name_translate_matrix: {
|
|
8
8
|
en: {
|
|
9
|
-
|
|
9
|
+
test_run_result_id : 'ID',
|
|
10
10
|
test_case_id : 'Test case',
|
|
11
11
|
test_run_id : 'Test run',
|
|
12
12
|
test_result_status : 'Status',
|
|
@@ -19,7 +19,7 @@ export const typeTestRunResult_i18n = {
|
|
|
19
19
|
completed_at : 'Completed at',
|
|
20
20
|
},
|
|
21
21
|
ru: {
|
|
22
|
-
|
|
22
|
+
test_run_result_id : 'ID',
|
|
23
23
|
test_case_id : 'Тест кейс',
|
|
24
24
|
test_run_id : 'Тестовый прогон',
|
|
25
25
|
test_result_status : 'Статус',
|
|
@@ -32,7 +32,7 @@ export const typeTestRunResult_i18n = {
|
|
|
32
32
|
completed_at : 'Завершено',
|
|
33
33
|
},
|
|
34
34
|
de: {
|
|
35
|
-
|
|
35
|
+
test_run_result_id : 'ID',
|
|
36
36
|
test_case_id : 'Testfall',
|
|
37
37
|
test_run_id : 'Testlauf',
|
|
38
38
|
test_result_status : 'Status',
|
|
@@ -45,7 +45,7 @@ export const typeTestRunResult_i18n = {
|
|
|
45
45
|
completed_at : 'Abgeschlossen am',
|
|
46
46
|
},
|
|
47
47
|
ar: {
|
|
48
|
-
|
|
48
|
+
test_run_result_id : 'ID',
|
|
49
49
|
test_case_id : 'حالة الاختبار',
|
|
50
50
|
test_run_id : 'تشغيل الاختبار',
|
|
51
51
|
test_result_status : 'الحالة',
|
|
@@ -58,7 +58,7 @@ export const typeTestRunResult_i18n = {
|
|
|
58
58
|
completed_at : 'تاريخ الإكمال',
|
|
59
59
|
},
|
|
60
60
|
es: {
|
|
61
|
-
|
|
61
|
+
test_run_result_id : 'ID',
|
|
62
62
|
test_case_id : 'Caso de prueba',
|
|
63
63
|
test_run_id : 'Ejecución de pruebas',
|
|
64
64
|
test_result_status : 'Estado',
|
|
@@ -71,7 +71,7 @@ export const typeTestRunResult_i18n = {
|
|
|
71
71
|
completed_at : 'Completado el',
|
|
72
72
|
},
|
|
73
73
|
fr: {
|
|
74
|
-
|
|
74
|
+
test_run_result_id : 'ID',
|
|
75
75
|
test_case_id : 'Cas de test',
|
|
76
76
|
test_run_id : 'Exécution de tests',
|
|
77
77
|
test_result_status : 'Statut',
|
|
@@ -84,7 +84,7 @@ export const typeTestRunResult_i18n = {
|
|
|
84
84
|
completed_at : 'Terminé le',
|
|
85
85
|
},
|
|
86
86
|
hy: {
|
|
87
|
-
|
|
87
|
+
test_run_result_id : 'ID',
|
|
88
88
|
test_case_id : 'Թեստային դեպք',
|
|
89
89
|
test_run_id : 'Թեստի գործարկում',
|
|
90
90
|
test_result_status : 'Կարգավիճակ',
|
|
@@ -97,7 +97,7 @@ export const typeTestRunResult_i18n = {
|
|
|
97
97
|
completed_at : 'Ավարտված',
|
|
98
98
|
},
|
|
99
99
|
it: {
|
|
100
|
-
|
|
100
|
+
test_run_result_id : 'ID',
|
|
101
101
|
test_case_id : 'Caso di test',
|
|
102
102
|
test_run_id : 'Esecuzione test',
|
|
103
103
|
test_result_status : 'Stato',
|
|
@@ -110,7 +110,7 @@ export const typeTestRunResult_i18n = {
|
|
|
110
110
|
completed_at : 'Completato il',
|
|
111
111
|
},
|
|
112
112
|
pl: {
|
|
113
|
-
|
|
113
|
+
test_run_result_id : 'ID',
|
|
114
114
|
test_case_id : 'Przypadek testowy',
|
|
115
115
|
test_run_id : 'Uruchomienie testów',
|
|
116
116
|
test_result_status : 'Status',
|
|
@@ -123,7 +123,7 @@ export const typeTestRunResult_i18n = {
|
|
|
123
123
|
completed_at : 'Ukończono',
|
|
124
124
|
},
|
|
125
125
|
pt: {
|
|
126
|
-
|
|
126
|
+
test_run_result_id : 'ID',
|
|
127
127
|
test_case_id : 'Caso de teste',
|
|
128
128
|
test_run_id : 'Execução de testes',
|
|
129
129
|
test_result_status : 'Estado',
|
|
@@ -136,7 +136,7 @@ export const typeTestRunResult_i18n = {
|
|
|
136
136
|
completed_at : 'Concluído em',
|
|
137
137
|
},
|
|
138
138
|
tt: {
|
|
139
|
-
|
|
139
|
+
test_run_result_id : 'ID',
|
|
140
140
|
test_case_id : 'Тест очрагы',
|
|
141
141
|
test_run_id : 'Тест йөгертүе',
|
|
142
142
|
test_result_status : 'Статус',
|
|
@@ -31,7 +31,7 @@ export class typeTestRunResult extends familyTestDocumentation
|
|
|
31
31
|
api_key = 'test_run_result';
|
|
32
32
|
|
|
33
33
|
structure_scheme = {
|
|
34
|
-
|
|
34
|
+
test_run_result_id : 'integer | require',
|
|
35
35
|
test_case_id : 'integer | require',
|
|
36
36
|
test_run_id : 'integer | require',
|
|
37
37
|
test_result_status : 'string | enum | require',
|