complexqa_frontend_core 1.14.5 → 1.15.2
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/api/bug_api.js +18 -0
- package/publish/api/index.js +3 -1
- package/publish/index.js +1 -0
- package/publish/types/family_elements/typeBug.js +397 -0
- package/publish/types/family_elements/typeFunctional.js +1 -1
- package/publish/types/family_elements/typeFunctionalGroup.js +1 -1
- package/publish/types/family_elements/typeMilestone.js +1 -1
- package/publish/types/family_elements/typeProject.js +1 -1
- package/publish/types/family_elements/typeProjectUserRole.js +1 -1
- package/publish/types/family_elements/typeTestAccount.js +1 -1
- package/publish/types/family_elements/typeTestCase.js +1 -1
- package/publish/types/family_elements/typeTestRun.js +1 -1
- package/publish/types/family_elements/typeTestSuite.js +1 -1
package/package.json
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ApiAbstractElementClass } from "./api_abstract_element_class";
|
|
2
|
+
import { typeBug } from "../types/family_elements/typeBug.js";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* @version v.0.1 (01/06/2026)
|
|
8
|
+
*/
|
|
9
|
+
export class BugApi extends ApiAbstractElementClass
|
|
10
|
+
{
|
|
11
|
+
module_prefix = 'bug';
|
|
12
|
+
|
|
13
|
+
constructor(options)
|
|
14
|
+
{
|
|
15
|
+
super(options);
|
|
16
|
+
this.set_element_class_instance(typeBug);
|
|
17
|
+
}
|
|
18
|
+
}
|
package/publish/api/index.js
CHANGED
|
@@ -11,6 +11,7 @@ import { TestRunResultApi } from "./test_run_result_api.js";
|
|
|
11
11
|
import { UserProfileApi } from "./user_profile_api.js";
|
|
12
12
|
import { TaskApi } from "./task_api.js";
|
|
13
13
|
import { TestAccountApi } from "./test_account_api.js";
|
|
14
|
+
import { BugApi } from "./bug_api.js";
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* Обертка над axios
|
|
@@ -118,7 +119,7 @@ export class Api
|
|
|
118
119
|
|
|
119
120
|
/**
|
|
120
121
|
*
|
|
121
|
-
* @version v.
|
|
122
|
+
* @version v.1.1 (01/06/2026)
|
|
122
123
|
*/
|
|
123
124
|
#bootstrap()
|
|
124
125
|
{
|
|
@@ -145,6 +146,7 @@ export class Api
|
|
|
145
146
|
this.user_profile = new UserProfileApi(payload);
|
|
146
147
|
this.task = new TaskApi(payload);
|
|
147
148
|
this.test_account = new TestAccountApi(payload);
|
|
149
|
+
this.bug = new BugApi(payload);
|
|
148
150
|
|
|
149
151
|
|
|
150
152
|
}
|
package/publish/index.js
CHANGED
|
@@ -14,6 +14,7 @@ export { typeTestCaseStep } from './types/family_elements/typeTestCaseStep.js';
|
|
|
14
14
|
export { typeTestRun } from './types/family_elements/typeTestRun.js'
|
|
15
15
|
export { typeTestRunResult } from './types/family_elements/typeTestRunResult.js'
|
|
16
16
|
export { typeTestAccount } from './types/family_elements/typeTestAccount.js'
|
|
17
|
+
export {typeBug} from './types/family_elements/typeBug.js';
|
|
17
18
|
|
|
18
19
|
export { typeUser } from './types/family_elements/typeUser.js';
|
|
19
20
|
export { typeTeam } from './types/family_elements/typeTeam.js';
|
|
@@ -0,0 +1,397 @@
|
|
|
1
|
+
import { familyTestDocumentation } from "./1_familyTestDocumentation.js";
|
|
2
|
+
import { is_object } from "../../utils/utils.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Баг / дефект — сущность баг-трекера внутри TMS.
|
|
6
|
+
*
|
|
7
|
+
* @see docs/bug_docs.MD
|
|
8
|
+
*
|
|
9
|
+
* @version v.0.3 (01/06/2026)
|
|
10
|
+
*/
|
|
11
|
+
export class typeBug extends familyTestDocumentation
|
|
12
|
+
{
|
|
13
|
+
bug_id;
|
|
14
|
+
|
|
15
|
+
// --- scope (Jira project, GitHub repo, YouTrack project, TestRail project) ---
|
|
16
|
+
project_id;
|
|
17
|
+
team_id;
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
// --- core content ---
|
|
21
|
+
bug_title;
|
|
22
|
+
bug_description;
|
|
23
|
+
bug_reproduction_steps; // ADO Microsoft.VSTS.TCM.ReproSteps
|
|
24
|
+
bug_expected_result;
|
|
25
|
+
bug_actual_result;
|
|
26
|
+
|
|
27
|
+
// --- classification ---
|
|
28
|
+
bug_type; // Jira issue type / YouTrack Type
|
|
29
|
+
bug_status; // Jira status / GitHub state / Bugzilla status / YouTrack State
|
|
30
|
+
bug_resolution; // Jira/Bugzilla resolution / GitHub state_reason (при закрытии)
|
|
31
|
+
bug_priority; // порядок исправления (Jira, Bugzilla, ADO Priority)
|
|
32
|
+
bug_severity; // степень влияния (ADO Severity, Bugzilla severity)
|
|
33
|
+
|
|
34
|
+
// --- people ---
|
|
35
|
+
reporter_id; // Jira reporter / GitHub creator / Bugzilla creator
|
|
36
|
+
assigned_to; // Jira assignee / GitHub assignees / ADO AssignedTo
|
|
37
|
+
|
|
38
|
+
// --- TMS links (TestRail defects ↔ test result, refs ↔ test case) ---
|
|
39
|
+
// move into another type
|
|
40
|
+
// make pseudo?
|
|
41
|
+
// test_case_id;
|
|
42
|
+
// test_run_id;
|
|
43
|
+
// test_run_result_id;
|
|
44
|
+
|
|
45
|
+
// --- environment & versions ---
|
|
46
|
+
//bug_environment; // Jira environment // тут надо подумать как лучше
|
|
47
|
+
bug_build_version; // TestRail version / Bugzilla version
|
|
48
|
+
bug_affected_version; // Jira/YouTrack Affected versions
|
|
49
|
+
bug_fixed_version; // Jira/YouTrack Fix versions
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
// --- relations ---
|
|
53
|
+
// related_bug_ids; // pseudo — Bugzilla depends_on / blocks (many-to-many) в развитие
|
|
54
|
+
duplicate_of_id; // Jira/GitHub Duplicate
|
|
55
|
+
|
|
56
|
+
// bug_labels; // штука хорошая, но в развитие
|
|
57
|
+
|
|
58
|
+
created_at;
|
|
59
|
+
updated_at;
|
|
60
|
+
completed_at; // resolved / closed (YouTrack resolved, GitHub closed_at)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
primary_key = 'bug_id';
|
|
64
|
+
api_key = 'bug';
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Схема данных бага.
|
|
68
|
+
*
|
|
69
|
+
* Принципы проектирования:
|
|
70
|
+
* 1. status и resolution разделены — паттерн Jira/Bugzilla (status = workflow, resolution = исход закрытия).
|
|
71
|
+
* 2. priority и severity разделены — паттерн Azure DevOps/Bugzilla (priority = очередь, severity = impact).
|
|
72
|
+
* 3. TMS-связи (test_case_id, test_run_result_id) — паттерн TestRail defects/refs + закомментированный
|
|
73
|
+
* reference_defects_ids в typeTestRunResult.
|
|
74
|
+
* 4. external_* — для двусторонней интеграции с внешними трекерами без дублирования их полной модели.
|
|
75
|
+
*/
|
|
76
|
+
structure_scheme = {
|
|
77
|
+
|
|
78
|
+
// --- identifiers ---
|
|
79
|
+
bug_id: 'integer | require',
|
|
80
|
+
|
|
81
|
+
// --- scope ---
|
|
82
|
+
project_id: 'integer | require',
|
|
83
|
+
team_id : 'integer | require',
|
|
84
|
+
|
|
85
|
+
// --- core content (Jira summary+description, GitHub title+body, Bugzilla summary) ---
|
|
86
|
+
bug_title : 'string | max:255 | require',
|
|
87
|
+
bug_description : 'string | StringHtml | optional',
|
|
88
|
+
bug_reproduction_steps: 'string | StringHtml | optional', // ADO ReproSteps
|
|
89
|
+
bug_expected_result : 'string | StringHtml | optional',
|
|
90
|
+
bug_actual_result : 'string | StringHtml | optional',
|
|
91
|
+
|
|
92
|
+
// --- classification ---
|
|
93
|
+
bug_type : 'string | enum | require', // BUG, REGRESSION, PERFORMANCE, SECURITY, ...
|
|
94
|
+
bug_status : 'string | enum | require', // OPEN, IN_PROGRESS, RESOLVED, CLOSED, REOPENED, ...
|
|
95
|
+
bug_resolution: 'string | enum | optional', // FIXED, WONT_FIX, DUPLICATE, CANNOT_REPRODUCE, ... (только при
|
|
96
|
+
// закрытии)
|
|
97
|
+
bug_priority: 'string | enum | require', // CRITICAL, HIGH, NORMAL, LOW (Jira/ADO 1-4, Bugzilla P1-P5)
|
|
98
|
+
bug_severity: 'string | enum | require', // BLOCKER, CRITICAL, MAJOR, MINOR, TRIVIAL (ADO/Bugzilla)
|
|
99
|
+
|
|
100
|
+
// --- people ---
|
|
101
|
+
reporter_id: 'integer | require', // кто нашёл / создал
|
|
102
|
+
assigned_to: 'integer | optional', // кто исправляет
|
|
103
|
+
|
|
104
|
+
// --- TMS links ---
|
|
105
|
+
// move into another type
|
|
106
|
+
// test_case_id : 'integer | optional', // TestRail refs, источник дефекта
|
|
107
|
+
// test_run_id : 'integer | optional',
|
|
108
|
+
// test_run_result_id: 'integer | optional', // TestRail defects (failed result)
|
|
109
|
+
// functional_id : 'integer | optional', // Jira component / functional area
|
|
110
|
+
|
|
111
|
+
// --- planning ---
|
|
112
|
+
// milestone_id : 'integer | optional', // GitHub milestone, TestRail milestone
|
|
113
|
+
|
|
114
|
+
// --- environment & versions ---
|
|
115
|
+
// bug_environment - это отдельный слой, где хранятся окружения
|
|
116
|
+
//bug_environment : 'string | optional', // Jira environment (staging, prod, ...)
|
|
117
|
+
bug_build_version : 'string | optional', // TestRail version, Bugzilla version
|
|
118
|
+
bug_affected_version: 'string | optional', // Jira/YouTrack Affected versions
|
|
119
|
+
bug_fixed_version : 'string | optional', // Jira/YouTrack Fix versions
|
|
120
|
+
|
|
121
|
+
// в развитие, когда будем связывать и интегрировать
|
|
122
|
+
// bug_platform : 'string | optional', // Bugzilla platform (All, Web, Mobile, ...)
|
|
123
|
+
// bug_operating_system: 'string | optional', // Bugzilla op_sys
|
|
124
|
+
|
|
125
|
+
//external_tracker: 'string | enum | optional', // JIRA, GITHUB, YOUTRACK, AZURE_DEVOPS, BUGZILLA
|
|
126
|
+
//external_id : 'string | optional', // ID во внешнем трекере
|
|
127
|
+
//external_url : 'string | optional', // URL issue во внешнем трекере
|
|
128
|
+
|
|
129
|
+
// --- relations ---
|
|
130
|
+
duplicate_of_id: 'integer | optional', // Jira/GitHub Duplicate
|
|
131
|
+
// related_bug_ids : 'array | reference | optional', // Bugzilla depends_on / blocks
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
// --- timestamps ---
|
|
135
|
+
created_at : 'timestamp | require',
|
|
136
|
+
updated_at : 'timestamp | optional',
|
|
137
|
+
completed_at: 'timestamp | optional', // resolved / closed
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
create_scheme = [
|
|
141
|
+
'project_id',
|
|
142
|
+
//'bug_title',
|
|
143
|
+
];
|
|
144
|
+
|
|
145
|
+
available_enum_values = {
|
|
146
|
+
bug_type : [ 'BUG', 'REGRESSION', 'PERFORMANCE', 'SECURITY', 'USABILITY', 'COMPATIBILITY', 'DOCUMENTATION', 'OTHER' ],
|
|
147
|
+
bug_status : [ 'OPEN', 'TRIAGE', 'IN_PROGRESS', 'ON_HOLD', 'RESOLVED', 'CLOSED', 'REOPENED' ],
|
|
148
|
+
bug_resolution : [ 'FIXED', 'WONT_FIX', 'DUPLICATE', 'CANNOT_REPRODUCE', 'WORKS_AS_DESIGNED', 'DEFERRED', 'NOT_A_BUG' ],
|
|
149
|
+
bug_priority : [ 'CRITICAL', 'HIGH', 'NORMAL', 'LOW' ],
|
|
150
|
+
bug_severity : [ 'BLOCKER', 'CRITICAL', 'MAJOR', 'MINOR', 'TRIVIAL' ],
|
|
151
|
+
external_tracker: [ 'JIRA', 'GITHUB', 'YOUTRACK', 'AZURE_DEVOPS', 'BUGZILLA', 'LINEAR', 'REDMINE', 'MANTIS', 'OTHER' ],
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
enum_value_translate_matrix = {
|
|
155
|
+
bug_type : {
|
|
156
|
+
en: {
|
|
157
|
+
BUG : 'Bug',
|
|
158
|
+
REGRESSION : 'Regression',
|
|
159
|
+
PERFORMANCE : 'Performance',
|
|
160
|
+
SECURITY : 'Security',
|
|
161
|
+
USABILITY : 'Usability',
|
|
162
|
+
COMPATIBILITY: 'Compatibility',
|
|
163
|
+
DOCUMENTATION: 'Documentation',
|
|
164
|
+
OTHER : 'Other',
|
|
165
|
+
},
|
|
166
|
+
ru: {
|
|
167
|
+
BUG : 'Баг',
|
|
168
|
+
REGRESSION : 'Регрессия',
|
|
169
|
+
PERFORMANCE : 'Производительность',
|
|
170
|
+
SECURITY : 'Безопасность',
|
|
171
|
+
USABILITY : 'Юзабилити',
|
|
172
|
+
COMPATIBILITY: 'Совместимость',
|
|
173
|
+
DOCUMENTATION: 'Документация',
|
|
174
|
+
OTHER : 'Other',
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
bug_status : {
|
|
178
|
+
en: {
|
|
179
|
+
OPEN : 'Open',
|
|
180
|
+
TRIAGE : 'Triage',
|
|
181
|
+
IN_PROGRESS: 'In progress',
|
|
182
|
+
ON_HOLD : 'On hold',
|
|
183
|
+
RESOLVED : 'Resolved',
|
|
184
|
+
CLOSED : 'Closed',
|
|
185
|
+
REOPENED : 'Reopened',
|
|
186
|
+
},
|
|
187
|
+
ru: {
|
|
188
|
+
OPEN : 'Открыт',
|
|
189
|
+
TRIAGE : 'Триаж',
|
|
190
|
+
IN_PROGRESS: 'В работе',
|
|
191
|
+
ON_HOLD : 'На паузе',
|
|
192
|
+
RESOLVED : 'Исправлен',
|
|
193
|
+
CLOSED : 'Закрыт',
|
|
194
|
+
REOPENED : 'Переоткрыт',
|
|
195
|
+
},
|
|
196
|
+
},
|
|
197
|
+
bug_resolution : {
|
|
198
|
+
en: {
|
|
199
|
+
FIXED : 'Fixed',
|
|
200
|
+
WONT_FIX : "Won't fix",
|
|
201
|
+
DUPLICATE : 'Duplicate',
|
|
202
|
+
CANNOT_REPRODUCE : 'Cannot reproduce',
|
|
203
|
+
WORKS_AS_DESIGNED: 'Works as designed',
|
|
204
|
+
DEFERRED : 'Deferred',
|
|
205
|
+
NOT_A_BUG : 'Not a bug',
|
|
206
|
+
},
|
|
207
|
+
ru: {
|
|
208
|
+
FIXED : 'Исправлено',
|
|
209
|
+
WONT_FIX : 'Не будет исправлено',
|
|
210
|
+
DUPLICATE : 'Дубликат',
|
|
211
|
+
CANNOT_REPRODUCE : 'Не воспроизводится',
|
|
212
|
+
WORKS_AS_DESIGNED: 'Работает как задумано',
|
|
213
|
+
DEFERRED : 'Отложено',
|
|
214
|
+
NOT_A_BUG : 'Не баг',
|
|
215
|
+
},
|
|
216
|
+
},
|
|
217
|
+
bug_priority : {
|
|
218
|
+
en: {
|
|
219
|
+
CRITICAL: 'Critical',
|
|
220
|
+
HIGH : 'High',
|
|
221
|
+
NORMAL : 'Normal',
|
|
222
|
+
LOW : 'Low',
|
|
223
|
+
},
|
|
224
|
+
ru: {
|
|
225
|
+
CRITICAL: 'Критический',
|
|
226
|
+
HIGH : 'Высокий',
|
|
227
|
+
NORMAL : 'Нормальный',
|
|
228
|
+
LOW : 'Низкий',
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
bug_severity : {
|
|
232
|
+
en: {
|
|
233
|
+
BLOCKER : 'Blocker',
|
|
234
|
+
CRITICAL: 'Critical',
|
|
235
|
+
MAJOR : 'Major',
|
|
236
|
+
MINOR : 'Minor',
|
|
237
|
+
TRIVIAL : 'Trivial',
|
|
238
|
+
},
|
|
239
|
+
ru: {
|
|
240
|
+
BLOCKER : 'Блокер',
|
|
241
|
+
CRITICAL: 'Критический',
|
|
242
|
+
MAJOR : 'Серьёзный',
|
|
243
|
+
MINOR : 'Незначительный',
|
|
244
|
+
TRIVIAL : 'Тривиальный',
|
|
245
|
+
},
|
|
246
|
+
},
|
|
247
|
+
external_tracker: {
|
|
248
|
+
en: {
|
|
249
|
+
JIRA : 'Jira',
|
|
250
|
+
GITHUB : 'GitHub',
|
|
251
|
+
YOUTRACK : 'YouTrack',
|
|
252
|
+
AZURE_DEVOPS: 'Azure DevOps',
|
|
253
|
+
BUGZILLA : 'Bugzilla',
|
|
254
|
+
LINEAR : 'Linear',
|
|
255
|
+
REDMINE : 'Redmine',
|
|
256
|
+
MANTIS : 'Mantis',
|
|
257
|
+
OTHER : 'Other',
|
|
258
|
+
},
|
|
259
|
+
ru: {
|
|
260
|
+
JIRA : 'Jira',
|
|
261
|
+
GITHUB : 'GitHub',
|
|
262
|
+
YOUTRACK : 'YouTrack',
|
|
263
|
+
AZURE_DEVOPS: 'Azure DevOps',
|
|
264
|
+
BUGZILLA : 'Bugzilla',
|
|
265
|
+
LINEAR : 'Linear',
|
|
266
|
+
REDMINE : 'Redmine',
|
|
267
|
+
MANTIS : 'Mantis',
|
|
268
|
+
OTHER : 'Другое',
|
|
269
|
+
},
|
|
270
|
+
},
|
|
271
|
+
};
|
|
272
|
+
|
|
273
|
+
attribute_name_translate_matrix = {
|
|
274
|
+
en: {
|
|
275
|
+
bug_id : 'ID',
|
|
276
|
+
bug_key : 'Key',
|
|
277
|
+
project_id : 'Project',
|
|
278
|
+
team_id : 'Team',
|
|
279
|
+
bug_title : 'Title',
|
|
280
|
+
bug_description : 'Description',
|
|
281
|
+
bug_reproduction_steps: 'Reproduction steps',
|
|
282
|
+
bug_expected_result : 'Expected result',
|
|
283
|
+
bug_actual_result : 'Actual result',
|
|
284
|
+
bug_type : 'Type',
|
|
285
|
+
bug_status : 'Status',
|
|
286
|
+
bug_resolution : 'Resolution',
|
|
287
|
+
bug_priority : 'Priority',
|
|
288
|
+
bug_severity : 'Severity',
|
|
289
|
+
reporter_id : 'Reporter',
|
|
290
|
+
assigned_to : 'Assignee',
|
|
291
|
+
test_case_id : 'Test case',
|
|
292
|
+
test_run_id : 'Test run',
|
|
293
|
+
test_run_result_id : 'Test run result',
|
|
294
|
+
functional_id : 'Functional area',
|
|
295
|
+
milestone_id : 'Milestone',
|
|
296
|
+
due_at : 'Due date',
|
|
297
|
+
bug_environment : 'Environment',
|
|
298
|
+
bug_build_version : 'Build version',
|
|
299
|
+
bug_affected_version : 'Affected version',
|
|
300
|
+
bug_fixed_version : 'Fixed version',
|
|
301
|
+
bug_platform : 'Platform',
|
|
302
|
+
bug_operating_system : 'Operating system',
|
|
303
|
+
parent_bug_id : 'Parent bug',
|
|
304
|
+
duplicate_of_id : 'Duplicate of',
|
|
305
|
+
external_tracker : 'External tracker',
|
|
306
|
+
external_id : 'External ID',
|
|
307
|
+
external_url : 'External URL',
|
|
308
|
+
created_at : 'Created at',
|
|
309
|
+
updated_at : 'Updated at',
|
|
310
|
+
completed_at : 'Completed at',
|
|
311
|
+
},
|
|
312
|
+
ru: {
|
|
313
|
+
bug_id : 'ID',
|
|
314
|
+
bug_key : 'Ключ',
|
|
315
|
+
project_id : 'Проект',
|
|
316
|
+
team_id : 'Команда',
|
|
317
|
+
bug_title : 'Название',
|
|
318
|
+
bug_description : 'Описание',
|
|
319
|
+
bug_reproduction_steps: 'Шаги воспроизведения',
|
|
320
|
+
bug_expected_result : 'Ожидаемый результат',
|
|
321
|
+
bug_actual_result : 'Фактический результат',
|
|
322
|
+
bug_type : 'Тип',
|
|
323
|
+
bug_status : 'Статус',
|
|
324
|
+
bug_resolution : 'Резолюция',
|
|
325
|
+
bug_priority : 'Приоритет',
|
|
326
|
+
bug_severity : 'Серьёзность',
|
|
327
|
+
reporter_id : 'Автор',
|
|
328
|
+
assigned_to : 'Исполнитель',
|
|
329
|
+
test_case_id : 'Тест-кейс',
|
|
330
|
+
test_run_id : 'Тестовый прогон',
|
|
331
|
+
test_run_result_id : 'Результат прогона',
|
|
332
|
+
functional_id : 'Функциональная область',
|
|
333
|
+
milestone_id : 'Веха',
|
|
334
|
+
due_at : 'Срок',
|
|
335
|
+
bug_environment : 'Окружение',
|
|
336
|
+
bug_build_version : 'Версия сборки',
|
|
337
|
+
bug_affected_version : 'Затронутая версия',
|
|
338
|
+
bug_fixed_version : 'Версия исправления',
|
|
339
|
+
bug_platform : 'Платформа',
|
|
340
|
+
bug_operating_system : 'ОС',
|
|
341
|
+
parent_bug_id : 'Родительский баг',
|
|
342
|
+
duplicate_of_id : 'Дубликат',
|
|
343
|
+
external_tracker : 'Внешний трекер',
|
|
344
|
+
external_id : 'Внешний ID',
|
|
345
|
+
external_url : 'Внешняя ссылка',
|
|
346
|
+
created_at : 'Создано',
|
|
347
|
+
updated_at : 'Обновлено',
|
|
348
|
+
completed_at : 'Закрыто',
|
|
349
|
+
},
|
|
350
|
+
};
|
|
351
|
+
|
|
352
|
+
status_color = {
|
|
353
|
+
OPEN : '#C4B040',
|
|
354
|
+
TRIAGE : '#4D92FA',
|
|
355
|
+
IN_PROGRESS: '#009688',
|
|
356
|
+
ON_HOLD : '#FD9A4F',
|
|
357
|
+
RESOLVED : '#009688',
|
|
358
|
+
CLOSED : '#E0E0E0',
|
|
359
|
+
REOPENED : '#E66565',
|
|
360
|
+
};
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
/**
|
|
364
|
+
*
|
|
365
|
+
* @param {object|false|undefined} data
|
|
366
|
+
* @returns {typeBug}
|
|
367
|
+
*/
|
|
368
|
+
constructor(data = false)
|
|
369
|
+
{
|
|
370
|
+
super();
|
|
371
|
+
|
|
372
|
+
if (data && is_object(data))
|
|
373
|
+
{
|
|
374
|
+
_.mapObject(data, (value, key) =>
|
|
375
|
+
{
|
|
376
|
+
if (this.hasOwnProperty(key))
|
|
377
|
+
{
|
|
378
|
+
this [ key ] = value;
|
|
379
|
+
}
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
return this;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
*
|
|
389
|
+
* @version v.0.1 (01/06/2026)
|
|
390
|
+
*
|
|
391
|
+
* @returns {string}
|
|
392
|
+
*/
|
|
393
|
+
get_element_name()
|
|
394
|
+
{
|
|
395
|
+
return this.bug_title;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
@@ -27,7 +27,7 @@ export class typeFunctional extends familyTestDocumentation
|
|
|
27
27
|
functional_group_id : 'integer | require',
|
|
28
28
|
team_id : 'integer | require',
|
|
29
29
|
functional_name : 'string | max:90 | require',
|
|
30
|
-
functional_description: 'string | max:2500 | optional',
|
|
30
|
+
functional_description: 'string | StringHtml | max:2500 | optional',
|
|
31
31
|
reference_document_ids: 'array | reference | optional',
|
|
32
32
|
created_at : 'timestamp | require',
|
|
33
33
|
updated_at : 'timestamp | optional',
|
|
@@ -23,7 +23,7 @@ export class typeFunctionalGroup extends familyTestDocumentation
|
|
|
23
23
|
structure_scheme = {
|
|
24
24
|
functional_group_id : 'integer | require',
|
|
25
25
|
functional_group_name : 'string | max:90 | require',
|
|
26
|
-
functional_group_description: 'string | max:250 | optional',
|
|
26
|
+
functional_group_description: 'string | StringHtml | max:250 | optional',
|
|
27
27
|
project_id : 'integer | require',
|
|
28
28
|
team_id : 'integer | require',
|
|
29
29
|
parent_id : 'integer | optional',
|
|
@@ -22,7 +22,7 @@ export class typeMilestone extends familyGeneralElement
|
|
|
22
22
|
structure_scheme = {
|
|
23
23
|
milestone_id : 'integer | require',
|
|
24
24
|
milestone_name : 'string | require',
|
|
25
|
-
milestone_description: 'string | optional',
|
|
25
|
+
milestone_description: 'string | StringHtml | optional',
|
|
26
26
|
milestone_status : 'string | enum | require',
|
|
27
27
|
company_id : 'integer | require',
|
|
28
28
|
milestone_start_date : 'date | require',
|
|
@@ -23,7 +23,7 @@ export class typeProject extends familyGeneralElement
|
|
|
23
23
|
structure_scheme = {
|
|
24
24
|
project_id : 'integer | require',
|
|
25
25
|
project_name : 'string | require',
|
|
26
|
-
project_description: 'string | optional',
|
|
26
|
+
project_description: 'string | StringHtml | optional',
|
|
27
27
|
project_status : 'string | enum | require',
|
|
28
28
|
team_id : 'integer | require',
|
|
29
29
|
//reference_document_ids: 'array | reference | optional',
|
|
@@ -20,7 +20,7 @@ export class typeProjectUserRole extends familyGeneralElement
|
|
|
20
20
|
|
|
21
21
|
structure_scheme = {
|
|
22
22
|
role_slug : 'string | require',
|
|
23
|
-
role_description: 'string | optional',
|
|
23
|
+
role_description: 'string | StringHtml | optional',
|
|
24
24
|
project_id : 'integer | require',
|
|
25
25
|
user_id : 'integer | require',
|
|
26
26
|
};
|
|
@@ -29,7 +29,7 @@ export class typeTestAccount extends familyGeneralElement
|
|
|
29
29
|
resource : 'string | require',
|
|
30
30
|
login : 'string | require',
|
|
31
31
|
password : 'string | optional',
|
|
32
|
-
test_account_description: 'string | optional',
|
|
32
|
+
test_account_description: 'string | StringHtml | optional',
|
|
33
33
|
updated_at : 'timestamp | optional',
|
|
34
34
|
completed_at: 'timestamp | optional',
|
|
35
35
|
};
|
|
@@ -45,7 +45,7 @@ export class typeTestCase extends familyTestDocumentation
|
|
|
45
45
|
functional_id : 'integer | optional',
|
|
46
46
|
test_case_status : 'string | enum | require',
|
|
47
47
|
test_case_title : 'string | optional',
|
|
48
|
-
test_case_descriptions : 'string | optional',
|
|
48
|
+
test_case_descriptions : 'string | StringHtml | optional',
|
|
49
49
|
test_case_time_to_execute: 'integer | optional',
|
|
50
50
|
test_case_complexity : 'string | enum | optional',
|
|
51
51
|
test_case_importance : 'string | enum | optional',
|
|
@@ -35,7 +35,7 @@ export class typeTestRun extends familyTestDocumentation
|
|
|
35
35
|
test_run_name : 'string | optional',
|
|
36
36
|
project_id : 'integer | require',
|
|
37
37
|
team_id : 'integer | require',
|
|
38
|
-
test_run_description: 'string | optional',
|
|
38
|
+
test_run_description: 'string | StringHtml | optional',
|
|
39
39
|
assigned_to : 'integer | optional',
|
|
40
40
|
test_case_ids : 'array | optional',
|
|
41
41
|
test_run_status : 'string | enum | require',
|
|
@@ -27,7 +27,7 @@ export class typeTestSuite extends familyTestDocumentation
|
|
|
27
27
|
parent_test_suite_id : 'integer | optional',
|
|
28
28
|
//functional_id : 'integer | optional',
|
|
29
29
|
test_suite_name : 'string | optional',
|
|
30
|
-
test_suite_description: 'string | optional',
|
|
30
|
+
test_suite_description: 'string | StringHtml | optional',
|
|
31
31
|
team_id : 'integer | require',
|
|
32
32
|
created_at : 'timestamp | require',
|
|
33
33
|
updated_at : 'timestamp | optional',
|