complexqa_frontend_core 1.29.1 → 1.30.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/autotest_case_api.js +78 -0
- package/publish/api/autotest_result_api.js +17 -0
- package/publish/api/autotest_run_api.js +36 -0
- package/publish/api/autotest_step_api.js +88 -0
- package/publish/api/autotest_suite_api.js +17 -0
- package/publish/api/file_app_api.js +76 -0
- package/publish/api/index.js +16 -0
- package/publish/api/object_repository_element_api.js +17 -0
- package/publish/api/object_repository_folder_api.js +17 -0
- package/publish/api/object_repository_page_api.js +17 -0
- package/publish/app_configuration/menu_configuration_main.js +14 -0
- package/publish/app_configuration/table/helpers/table_element_models.js +16 -0
- package/publish/app_configuration/table/sections/autotest_case.js +73 -0
- package/publish/app_configuration/table/sections/autotest_result.js +59 -0
- package/publish/app_configuration/table/sections/autotest_run.js +66 -0
- package/publish/app_configuration/table/sections/autotest_step.js +82 -0
- package/publish/app_configuration/table/sections/autotest_suite.js +42 -0
- package/publish/app_configuration/table/sections/object_repository_element.js +59 -0
- package/publish/app_configuration/table/sections/object_repository_folder.js +41 -0
- package/publish/app_configuration/table/sections/object_repository_page.js +55 -0
- package/publish/app_configuration/table/table_configuration.js +16 -0
- package/publish/index.js +28 -0
- package/publish/services/FileAppService.js +48 -0
- package/publish/types/element_translate/typeAttachment.i18n.js +22 -11
- package/publish/types/element_translate/typeAutotestCase.i18n.js +95 -0
- package/publish/types/element_translate/typeAutotestResult.i18n.js +77 -0
- package/publish/types/element_translate/typeAutotestRun.i18n.js +110 -0
- package/publish/types/element_translate/typeAutotestStep.i18n.js +80 -0
- package/publish/types/element_translate/typeAutotestSuite.i18n.js +40 -0
- package/publish/types/element_translate/typeBug.i18n.js +1 -1
- package/publish/types/element_translate/typeCustomProperty.i18n.js +21 -6
- package/publish/types/element_translate/typeCustomPropertyValue.i18n.js +21 -6
- package/publish/types/element_translate/typeFile.i18n.js +21 -15
- package/publish/types/element_translate/typeObjectRepositoryElement.i18n.js +92 -0
- package/publish/types/element_translate/typeObjectRepositoryFolder.i18n.js +62 -0
- package/publish/types/element_translate/typeObjectRepositoryPage.i18n.js +43 -0
- package/publish/types/element_translate/typeTagRelation.i18n.js +18 -0
- package/publish/types/family_elements/autotest_step_actions/autotestStepActionCatalog.js +54 -0
- package/publish/types/family_elements/autotest_step_actions/autotestStepLocatorKind.js +56 -0
- package/publish/types/family_elements/autotest_step_actions/autotestStepTargetNormalizer.js +134 -0
- package/publish/types/family_elements/autotest_step_actions/typeAutotestStepAction.js +35 -0
- package/publish/types/family_elements/autotest_step_actions/typeAutotestStepActionVariants.js +148 -0
- package/publish/types/family_elements/autotest_step_actions/typeAutotestStepLocatorAction.js +12 -0
- package/publish/types/family_elements/autotest_step_actions/typeAutotestStepLocatorValueAction.js +13 -0
- package/publish/types/family_elements/typeAttachment.js +1 -1
- package/publish/types/family_elements/typeAutotestCase.js +220 -0
- package/publish/types/family_elements/typeAutotestResult.js +81 -0
- package/publish/types/family_elements/typeAutotestRun.js +165 -0
- package/publish/types/family_elements/typeAutotestStep.js +297 -0
- package/publish/types/family_elements/typeAutotestStepTarget.js +50 -0
- package/publish/types/family_elements/typeAutotestSuite.js +74 -0
- package/publish/types/family_elements/typeCustomProperty.js +1 -1
- package/publish/types/family_elements/typeObjectRepositoryElement.js +88 -0
- package/publish/types/family_elements/typeObjectRepositoryFolder.js +81 -0
- package/publish/types/family_elements/typeObjectRepositoryPage.js +77 -0
- package/publish/types/family_files/familyFile.js +2 -0
- package/publish/types/family_files/typeFileAutotestScreenshot.js +33 -0
- package/publish/types/family_files/typeFileFactory.js +3 -0
- package/publish/types/family_relation/typeCustomPropertyValue.js +7 -2
- package/publish/types/family_relation/typeTagRelation.js +30 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { typeAutotestStep } from '../../../types/family_elements/typeAutotestStep.js';
|
|
2
|
+
import { UserService } from '../../../services/UserService.js';
|
|
3
|
+
import { createColumn, createGoToColumn } from '../helpers/column_factory.js';
|
|
4
|
+
import { createListingFor, registerSection } from '../helpers/section_registry.js';
|
|
5
|
+
import { typeTableColumn } from '../../../types/family_service/typeTableColumn.js';
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
function build_autotest_step_listing_columns(locale)
|
|
9
|
+
{
|
|
10
|
+
const model = new typeAutotestStep();
|
|
11
|
+
|
|
12
|
+
return [
|
|
13
|
+
createColumn(model, locale, 'sort_order', {
|
|
14
|
+
width : '120',
|
|
15
|
+
sort_order : '0',
|
|
16
|
+
default_sort: 'asc',
|
|
17
|
+
is_editable : true,
|
|
18
|
+
is_filter : false,
|
|
19
|
+
}),
|
|
20
|
+
createColumn(model, locale, 'action_name', {
|
|
21
|
+
width : '180',
|
|
22
|
+
is_editable: true,
|
|
23
|
+
is_required: true,
|
|
24
|
+
is_filter : false,
|
|
25
|
+
is_sortable: false,
|
|
26
|
+
}),
|
|
27
|
+
createColumn(model, locale, 'target', {
|
|
28
|
+
width : '280',
|
|
29
|
+
is_editable: true,
|
|
30
|
+
is_filter : false,
|
|
31
|
+
is_sortable: false,
|
|
32
|
+
}),
|
|
33
|
+
createColumn(model, locale, 'value_text', {
|
|
34
|
+
width : '360',
|
|
35
|
+
is_editable: true,
|
|
36
|
+
is_title : true,
|
|
37
|
+
is_filter : false,
|
|
38
|
+
is_sortable: false,
|
|
39
|
+
}),
|
|
40
|
+
createColumn(model, locale, 'timeout_ms', {
|
|
41
|
+
width : '140',
|
|
42
|
+
is_editable: true,
|
|
43
|
+
is_filter : false,
|
|
44
|
+
is_sortable: false,
|
|
45
|
+
}),
|
|
46
|
+
new typeTableColumn({
|
|
47
|
+
header_name : '',
|
|
48
|
+
field : 'autotest_step_id',
|
|
49
|
+
width : '80',
|
|
50
|
+
sort_order : '99',
|
|
51
|
+
is_sortable : false,
|
|
52
|
+
is_filter : false,
|
|
53
|
+
is_editable : false,
|
|
54
|
+
column_kind : 'sort_action',
|
|
55
|
+
}),
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Секции `autotest_step`: `listing` - шаги на карточке автотеста.
|
|
62
|
+
*
|
|
63
|
+
* @param {Object} config
|
|
64
|
+
* @returns {void}
|
|
65
|
+
*/
|
|
66
|
+
export function bootstrap_autotest_step(config)
|
|
67
|
+
{
|
|
68
|
+
const locale = UserService.get_current_language();
|
|
69
|
+
const model = new typeAutotestStep();
|
|
70
|
+
|
|
71
|
+
registerSection(config, 'autotest_step', 'listing', build_autotest_step_listing_columns(locale), {
|
|
72
|
+
for: createListingFor([ 'autotest_case_id' ]),
|
|
73
|
+
});
|
|
74
|
+
registerSection(config, 'autotest_step', 'where_used', [
|
|
75
|
+
createColumn(model, locale, 'autotest_case_id', { width: '140' }),
|
|
76
|
+
createColumn(model, locale, 'action_name', { width: '180' }),
|
|
77
|
+
createColumn(model, locale, 'sort_order', { width: '120' }),
|
|
78
|
+
createGoToColumn(model, locale),
|
|
79
|
+
], {
|
|
80
|
+
for: createListingFor([ 'object_repository_page_id', 'object_repository_element_id' ], { add: [ 'autotest_case' ] }),
|
|
81
|
+
});
|
|
82
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { typeAutotestSuite } from '../../../types/family_elements/typeAutotestSuite.js';
|
|
2
|
+
import { UserService } from '../../../services/UserService.js';
|
|
3
|
+
import { createColumn, createGoToColumn, createPrimaryKeyColumn, createRowSelectColumn } from '../helpers/column_factory.js';
|
|
4
|
+
import { createListingFor, registerSection } from '../helpers/section_registry.js';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function build_autotest_suite_listing_columns(locale, { include_select = true } = {})
|
|
8
|
+
{
|
|
9
|
+
const model = new typeAutotestSuite();
|
|
10
|
+
const columns = [];
|
|
11
|
+
|
|
12
|
+
if (include_select)
|
|
13
|
+
{
|
|
14
|
+
columns.push(createRowSelectColumn());
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
columns.push(createPrimaryKeyColumn(model, locale));
|
|
18
|
+
columns.push(createColumn(model, locale, 'autotest_suite_title', {
|
|
19
|
+
width : '480',
|
|
20
|
+
is_editable: true,
|
|
21
|
+
is_required: true,
|
|
22
|
+
is_title : true,
|
|
23
|
+
}));
|
|
24
|
+
columns.push(createColumn(model, locale, 'created_at', { width: '170', is_required: true }));
|
|
25
|
+
columns.push(createGoToColumn(model, locale));
|
|
26
|
+
|
|
27
|
+
return columns;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @param {Object} config
|
|
33
|
+
* @returns {void}
|
|
34
|
+
*/
|
|
35
|
+
export function bootstrap_autotest_suite(config)
|
|
36
|
+
{
|
|
37
|
+
const locale = UserService.get_current_language();
|
|
38
|
+
|
|
39
|
+
registerSection(config, 'autotest_suite', 'listing', build_autotest_suite_listing_columns(locale), {
|
|
40
|
+
for: createListingFor([ 'project_id' ]),
|
|
41
|
+
});
|
|
42
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { typeObjectRepositoryElement } from '../../../types/family_elements/typeObjectRepositoryElement.js';
|
|
2
|
+
import { UserService } from '../../../services/UserService.js';
|
|
3
|
+
import { createColumn, createGoToColumn, createPrimaryKeyColumn, createRowSelectColumn } from '../helpers/column_factory.js';
|
|
4
|
+
import { createListingFor, registerSection } from '../helpers/section_registry.js';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function build_object_repository_element_listing_columns(locale, { include_select = true } = {})
|
|
8
|
+
{
|
|
9
|
+
const model = new typeObjectRepositoryElement();
|
|
10
|
+
const columns = [];
|
|
11
|
+
|
|
12
|
+
if (include_select)
|
|
13
|
+
{
|
|
14
|
+
columns.push(createRowSelectColumn());
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
columns.push(createPrimaryKeyColumn(model, locale));
|
|
18
|
+
columns.push(createColumn(model, locale, 'object_repository_element_title', {
|
|
19
|
+
width : '280',
|
|
20
|
+
is_editable: true,
|
|
21
|
+
is_required: true,
|
|
22
|
+
is_title : true,
|
|
23
|
+
}));
|
|
24
|
+
columns.push(createColumn(model, locale, 'locator_kind', {
|
|
25
|
+
width : '140',
|
|
26
|
+
is_editable: true,
|
|
27
|
+
}));
|
|
28
|
+
columns.push(createColumn(model, locale, 'locator_value', {
|
|
29
|
+
width : '220',
|
|
30
|
+
is_editable: true,
|
|
31
|
+
}));
|
|
32
|
+
columns.push(createColumn(model, locale, 'tags', {
|
|
33
|
+
width : '220',
|
|
34
|
+
is_editable: false,
|
|
35
|
+
is_sortable: false,
|
|
36
|
+
is_required: false,
|
|
37
|
+
}));
|
|
38
|
+
columns.push(createColumn(model, locale, 'created_at', { width: '170', is_required: true }));
|
|
39
|
+
columns.push(createGoToColumn(model, locale));
|
|
40
|
+
|
|
41
|
+
return columns;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* @param {Object} config
|
|
47
|
+
* @returns {void}
|
|
48
|
+
*/
|
|
49
|
+
export function bootstrap_object_repository_element(config)
|
|
50
|
+
{
|
|
51
|
+
const locale = UserService.get_current_language();
|
|
52
|
+
|
|
53
|
+
registerSection(config, 'object_repository_element', 'listing', build_object_repository_element_listing_columns(locale), {
|
|
54
|
+
for: createListingFor([ 'project_id', 'object_repository_folder_id' ], { add: [ 'tags' ] }),
|
|
55
|
+
});
|
|
56
|
+
registerSection(config, 'object_repository_element', 'picker', build_object_repository_element_listing_columns(locale, { include_select: true }), {
|
|
57
|
+
for: createListingFor([ 'project_id' ]),
|
|
58
|
+
});
|
|
59
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { typeObjectRepositoryFolder } from '../../../types/family_elements/typeObjectRepositoryFolder.js';
|
|
2
|
+
import { UserService } from '../../../services/UserService.js';
|
|
3
|
+
import { createColumn, createPrimaryKeyColumn, createRowSelectColumn } from '../helpers/column_factory.js';
|
|
4
|
+
import { createListingFor, registerSection } from '../helpers/section_registry.js';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function build_object_repository_folder_listing_columns(locale, { include_select = true } = {})
|
|
8
|
+
{
|
|
9
|
+
const model = new typeObjectRepositoryFolder();
|
|
10
|
+
const columns = [];
|
|
11
|
+
|
|
12
|
+
if (include_select)
|
|
13
|
+
{
|
|
14
|
+
columns.push(createRowSelectColumn());
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
columns.push(createPrimaryKeyColumn(model, locale));
|
|
18
|
+
columns.push(createColumn(model, locale, 'object_repository_folder_title', {
|
|
19
|
+
width : '480',
|
|
20
|
+
is_editable: true,
|
|
21
|
+
is_required: true,
|
|
22
|
+
is_title : true,
|
|
23
|
+
}));
|
|
24
|
+
columns.push(createColumn(model, locale, 'created_at', { width: '170', is_required: true }));
|
|
25
|
+
|
|
26
|
+
return columns;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @param {Object} config
|
|
32
|
+
* @returns {void}
|
|
33
|
+
*/
|
|
34
|
+
export function bootstrap_object_repository_folder(config)
|
|
35
|
+
{
|
|
36
|
+
const locale = UserService.get_current_language();
|
|
37
|
+
|
|
38
|
+
registerSection(config, 'object_repository_folder', 'listing', build_object_repository_folder_listing_columns(locale), {
|
|
39
|
+
for: createListingFor([ 'project_id', 'parent_object_repository_folder_id', 'object_repository_folder_kind' ], { add: [ 'tags' ] }),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { typeObjectRepositoryPage } from '../../../types/family_elements/typeObjectRepositoryPage.js';
|
|
2
|
+
import { UserService } from '../../../services/UserService.js';
|
|
3
|
+
import { createColumn, createGoToColumn, createPrimaryKeyColumn, createRowSelectColumn } from '../helpers/column_factory.js';
|
|
4
|
+
import { createListingFor, registerSection } from '../helpers/section_registry.js';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function build_object_repository_page_listing_columns(locale, { include_select = true } = {})
|
|
8
|
+
{
|
|
9
|
+
const model = new typeObjectRepositoryPage();
|
|
10
|
+
const columns = [];
|
|
11
|
+
|
|
12
|
+
if (include_select)
|
|
13
|
+
{
|
|
14
|
+
columns.push(createRowSelectColumn());
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
columns.push(createPrimaryKeyColumn(model, locale));
|
|
18
|
+
columns.push(createColumn(model, locale, 'object_repository_page_title', {
|
|
19
|
+
width : '320',
|
|
20
|
+
is_editable: true,
|
|
21
|
+
is_required: true,
|
|
22
|
+
is_title : true,
|
|
23
|
+
}));
|
|
24
|
+
columns.push(createColumn(model, locale, 'path', {
|
|
25
|
+
width : '280',
|
|
26
|
+
is_editable: true,
|
|
27
|
+
}));
|
|
28
|
+
columns.push(createColumn(model, locale, 'tags', {
|
|
29
|
+
width : '220',
|
|
30
|
+
is_editable: false,
|
|
31
|
+
is_sortable: false,
|
|
32
|
+
is_required: false,
|
|
33
|
+
}));
|
|
34
|
+
columns.push(createColumn(model, locale, 'created_at', { width: '170', is_required: true }));
|
|
35
|
+
columns.push(createGoToColumn(model, locale));
|
|
36
|
+
|
|
37
|
+
return columns;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @param {Object} config
|
|
43
|
+
* @returns {void}
|
|
44
|
+
*/
|
|
45
|
+
export function bootstrap_object_repository_page(config)
|
|
46
|
+
{
|
|
47
|
+
const locale = UserService.get_current_language();
|
|
48
|
+
|
|
49
|
+
registerSection(config, 'object_repository_page', 'listing', build_object_repository_page_listing_columns(locale), {
|
|
50
|
+
for: createListingFor([ 'project_id', 'object_repository_folder_id' ], { add: [ 'tags' ] }),
|
|
51
|
+
});
|
|
52
|
+
registerSection(config, 'object_repository_page', 'picker', build_object_repository_page_listing_columns(locale, { include_select: true }), {
|
|
53
|
+
for: createListingFor([ 'project_id' ]),
|
|
54
|
+
});
|
|
55
|
+
}
|
|
@@ -19,6 +19,14 @@ import { bootstrap_user } from './sections/user.js';
|
|
|
19
19
|
import { bootstrap_team } from './sections/team.js';
|
|
20
20
|
import { bootstrap_project } from './sections/project.js';
|
|
21
21
|
import { bootstrap_text_document } from './sections/text_document.js';
|
|
22
|
+
import { bootstrap_autotest_case } from './sections/autotest_case.js';
|
|
23
|
+
import { bootstrap_autotest_suite } from './sections/autotest_suite.js';
|
|
24
|
+
import { bootstrap_autotest_run } from './sections/autotest_run.js';
|
|
25
|
+
import { bootstrap_autotest_result } from './sections/autotest_result.js';
|
|
26
|
+
import { bootstrap_autotest_step } from './sections/autotest_step.js';
|
|
27
|
+
import { bootstrap_object_repository_folder } from './sections/object_repository_folder.js';
|
|
28
|
+
import { bootstrap_object_repository_page } from './sections/object_repository_page.js';
|
|
29
|
+
import { bootstrap_object_repository_element } from './sections/object_repository_element.js';
|
|
22
30
|
import { localizeTableSection } from './helpers/column_locale.js';
|
|
23
31
|
|
|
24
32
|
/**
|
|
@@ -134,6 +142,14 @@ export class TableConfiguration extends abstractAppConfiguration
|
|
|
134
142
|
bootstrap_team(this.config);
|
|
135
143
|
bootstrap_project(this.config);
|
|
136
144
|
bootstrap_text_document(this.config);
|
|
145
|
+
bootstrap_autotest_case(this.config);
|
|
146
|
+
bootstrap_autotest_suite(this.config);
|
|
147
|
+
bootstrap_autotest_run(this.config);
|
|
148
|
+
bootstrap_autotest_result(this.config);
|
|
149
|
+
bootstrap_autotest_step(this.config);
|
|
150
|
+
bootstrap_object_repository_folder(this.config);
|
|
151
|
+
bootstrap_object_repository_page(this.config);
|
|
152
|
+
bootstrap_object_repository_element(this.config);
|
|
137
153
|
|
|
138
154
|
this.state.loaded = true;
|
|
139
155
|
}
|
package/publish/index.js
CHANGED
|
@@ -14,6 +14,33 @@ export { typeTestCase } from './types/family_elements/typeTestCase.js';
|
|
|
14
14
|
export { typeTestCaseStep } from './types/family_elements/typeTestCaseStep.js';
|
|
15
15
|
export { typeTestRun } from './types/family_elements/typeTestRun.js'
|
|
16
16
|
export { typeTestRunResult } from './types/family_elements/typeTestRunResult.js'
|
|
17
|
+
export { typeAutotestCase } from './types/family_elements/typeAutotestCase.js';
|
|
18
|
+
export { typeAutotestSuite } from './types/family_elements/typeAutotestSuite.js';
|
|
19
|
+
export { typeAutotestStep } from './types/family_elements/typeAutotestStep.js';
|
|
20
|
+
export { typeAutotestStepTarget } from './types/family_elements/typeAutotestStepTarget.js';
|
|
21
|
+
export { typeAutotestStepAction } from './types/family_elements/autotest_step_actions/typeAutotestStepAction.js';
|
|
22
|
+
export { typeAutotestStepLocatorAction } from './types/family_elements/autotest_step_actions/typeAutotestStepLocatorAction.js';
|
|
23
|
+
export { typeAutotestStepLocatorValueAction } from './types/family_elements/autotest_step_actions/typeAutotestStepLocatorValueAction.js';
|
|
24
|
+
export {
|
|
25
|
+
list_autotest_step_actions,
|
|
26
|
+
get_autotest_step_action_entry,
|
|
27
|
+
get_autotest_step_action_class,
|
|
28
|
+
is_autotest_step_action_known,
|
|
29
|
+
} from './types/family_elements/autotest_step_actions/autotestStepActionCatalog.js';
|
|
30
|
+
export {
|
|
31
|
+
AUTOTEST_STEP_LOCATOR_KINDS,
|
|
32
|
+
AUTOTEST_STEP_PLAYWRIGHT_ROLES,
|
|
33
|
+
is_autotest_step_locator_kind,
|
|
34
|
+
} from './types/family_elements/autotest_step_actions/autotestStepLocatorKind.js';
|
|
35
|
+
export {
|
|
36
|
+
hydrate_autotest_step_target,
|
|
37
|
+
build_autotest_step_target_storage,
|
|
38
|
+
} from './types/family_elements/autotest_step_actions/autotestStepTargetNormalizer.js';
|
|
39
|
+
export { typeAutotestRun } from './types/family_elements/typeAutotestRun.js';
|
|
40
|
+
export { typeAutotestResult } from './types/family_elements/typeAutotestResult.js';
|
|
41
|
+
export { typeObjectRepositoryFolder } from './types/family_elements/typeObjectRepositoryFolder.js';
|
|
42
|
+
export { typeObjectRepositoryPage } from './types/family_elements/typeObjectRepositoryPage.js';
|
|
43
|
+
export { typeObjectRepositoryElement } from './types/family_elements/typeObjectRepositoryElement.js';
|
|
17
44
|
export { typeTestAccount } from './types/family_elements/typeTestAccount.js'
|
|
18
45
|
export {typeBug} from './types/family_elements/typeBug.js';
|
|
19
46
|
export { typeTag } from './types/family_elements/typeTag.js';
|
|
@@ -50,6 +77,7 @@ export { typeEvent } from './types/family_events/typeEvent.js';
|
|
|
50
77
|
export { familyFile } from './types/family_files/familyFile.js';
|
|
51
78
|
export { typeFile } from './types/family_files/typeFile.js';
|
|
52
79
|
export { typeFileScreenshot } from './types/family_files/typeFileScreenshot.js';
|
|
80
|
+
export { typeFileAutotestScreenshot } from './types/family_files/typeFileAutotestScreenshot.js';
|
|
53
81
|
export { typeFileHtml } from './types/family_files/typeFileHtml.js';
|
|
54
82
|
export { typeFilePostman } from './types/family_files/typeFilePostman.js';
|
|
55
83
|
export { typeFileVideo } from './types/family_files/typeFileVideo.js';
|
|
@@ -355,4 +355,52 @@ export class FileAppService extends abstractService
|
|
|
355
355
|
|
|
356
356
|
return result;
|
|
357
357
|
}
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* Team / project Files listing.
|
|
362
|
+
*
|
|
363
|
+
* @param {object} [payload]
|
|
364
|
+
* @param {number} [payload.project_id]
|
|
365
|
+
*
|
|
366
|
+
* @returns {Promise<object>}
|
|
367
|
+
*/
|
|
368
|
+
static async list_team_files(payload = {})
|
|
369
|
+
{
|
|
370
|
+
const api = FileAppService.#get_api_service();
|
|
371
|
+
const wrap = await api.file_app.list_team_files(payload);
|
|
372
|
+
const row = await wrap?.response;
|
|
373
|
+
|
|
374
|
+
return row && typeof row === 'object' ? row : { items: [] };
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* Soft-delete many files (also clears attachment links on Main).
|
|
380
|
+
*
|
|
381
|
+
* @param {string[]} file_uuids
|
|
382
|
+
*
|
|
383
|
+
* @returns {Promise<object>}
|
|
384
|
+
*/
|
|
385
|
+
static async delete_files(file_uuids)
|
|
386
|
+
{
|
|
387
|
+
const api = FileAppService.#get_api_service();
|
|
388
|
+
const wrap = await api.file_app.delete_files({ file_uuids });
|
|
389
|
+
|
|
390
|
+
return await wrap?.response;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* @param {string} file_uuid
|
|
396
|
+
*
|
|
397
|
+
* @returns {Promise<object>}
|
|
398
|
+
*/
|
|
399
|
+
static async delete_file(file_uuid)
|
|
400
|
+
{
|
|
401
|
+
const api = FileAppService.#get_api_service();
|
|
402
|
+
const wrap = await api.file_app.delete_file({ file_uuid });
|
|
403
|
+
|
|
404
|
+
return await wrap?.response;
|
|
405
|
+
}
|
|
358
406
|
}
|
|
@@ -164,37 +164,48 @@ export const typeAttachment_i18n = {
|
|
|
164
164
|
enum_value_translate_matrix: {
|
|
165
165
|
element_type: {
|
|
166
166
|
en: {
|
|
167
|
-
bug: 'Bug',
|
|
167
|
+
bug : 'Bug',
|
|
168
|
+
autotest_result : 'Autotest result',
|
|
168
169
|
},
|
|
169
170
|
ru: {
|
|
170
|
-
bug: 'Баг',
|
|
171
|
+
bug : 'Баг',
|
|
172
|
+
autotest_result : 'Результат автотеста',
|
|
171
173
|
},
|
|
172
174
|
de: {
|
|
173
|
-
bug: 'Fehler',
|
|
175
|
+
bug : 'Fehler',
|
|
176
|
+
autotest_result : 'Autotest-Ergebnis',
|
|
174
177
|
},
|
|
175
178
|
ar: {
|
|
176
|
-
bug: 'الخلل',
|
|
179
|
+
bug : 'الخلل',
|
|
180
|
+
autotest_result : 'نتيجة الاختبار الآلي',
|
|
177
181
|
},
|
|
178
182
|
es: {
|
|
179
|
-
bug: 'Defecto',
|
|
183
|
+
bug : 'Defecto',
|
|
184
|
+
autotest_result : 'Resultado de autotest',
|
|
180
185
|
},
|
|
181
186
|
fr: {
|
|
182
|
-
bug: 'Anomalie',
|
|
187
|
+
bug : 'Anomalie',
|
|
188
|
+
autotest_result : 'Résultat d\'autotest',
|
|
183
189
|
},
|
|
184
190
|
hy: {
|
|
185
|
-
bug: 'Խաուխ',
|
|
191
|
+
bug : 'Խաուխ',
|
|
192
|
+
autotest_result : 'Ավտոթեստի արդյունք',
|
|
186
193
|
},
|
|
187
194
|
it: {
|
|
188
|
-
bug: 'Difetto',
|
|
195
|
+
bug : 'Difetto',
|
|
196
|
+
autotest_result : 'Risultato autotest',
|
|
189
197
|
},
|
|
190
198
|
pl: {
|
|
191
|
-
bug: 'Błąd',
|
|
199
|
+
bug : 'Błąd',
|
|
200
|
+
autotest_result : 'Wynik autotestu',
|
|
192
201
|
},
|
|
193
202
|
pt: {
|
|
194
|
-
bug: 'Defeito',
|
|
203
|
+
bug : 'Defeito',
|
|
204
|
+
autotest_result : 'Resultado do autotest',
|
|
195
205
|
},
|
|
196
206
|
tt: {
|
|
197
|
-
bug: 'Хата',
|
|
207
|
+
bug : 'Хата',
|
|
208
|
+
autotest_result : 'Автотест нәтиҗәсе',
|
|
198
209
|
},
|
|
199
210
|
},
|
|
200
211
|
},
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Переводы для typeAutotestCase.
|
|
3
|
+
*
|
|
4
|
+
* @see typeAutotestCase
|
|
5
|
+
*/
|
|
6
|
+
export const typeAutotestCase_i18n = {
|
|
7
|
+
attribute_name_translate_matrix: {
|
|
8
|
+
en: {
|
|
9
|
+
autotest_case_id : 'ID',
|
|
10
|
+
team_id : 'Team',
|
|
11
|
+
project_id : 'Project',
|
|
12
|
+
autotest_suite_id : 'Suite',
|
|
13
|
+
test_case_id : 'Test case',
|
|
14
|
+
execution_context_id : 'Execution context',
|
|
15
|
+
autotest_case_title : 'Title',
|
|
16
|
+
autotest_case_description: 'Description',
|
|
17
|
+
autotest_case_status : 'Status',
|
|
18
|
+
autotest_case_kind : 'Kind',
|
|
19
|
+
test_account_id : 'Test account',
|
|
20
|
+
pre_autotest_case_ids: 'Pre autotest cases',
|
|
21
|
+
tags : 'Tags',
|
|
22
|
+
created_at : 'Created at',
|
|
23
|
+
updated_at : 'Updated at',
|
|
24
|
+
},
|
|
25
|
+
ru: {
|
|
26
|
+
autotest_case_id : 'ID',
|
|
27
|
+
team_id : 'Команда',
|
|
28
|
+
project_id : 'Проект',
|
|
29
|
+
autotest_suite_id : 'Сьют',
|
|
30
|
+
test_case_id : 'Тест-кейс',
|
|
31
|
+
execution_context_id : 'Контекст выполнения',
|
|
32
|
+
autotest_case_title : 'Название',
|
|
33
|
+
autotest_case_description: 'Описание',
|
|
34
|
+
autotest_case_status : 'Статус',
|
|
35
|
+
autotest_case_kind : 'Вид',
|
|
36
|
+
test_account_id : 'Тест-аккаунт',
|
|
37
|
+
pre_autotest_case_ids: 'Предшествующие автотесты',
|
|
38
|
+
tags : 'Теги',
|
|
39
|
+
created_at : 'Создано',
|
|
40
|
+
updated_at : 'Изменено',
|
|
41
|
+
},
|
|
42
|
+
tt: {
|
|
43
|
+
autotest_case_id : 'ID',
|
|
44
|
+
team_id : 'Команда',
|
|
45
|
+
project_id : 'Проект',
|
|
46
|
+
autotest_suite_id : 'Җыелма',
|
|
47
|
+
test_case_id : 'Тест очрагы',
|
|
48
|
+
execution_context_id : 'Башкару контексты',
|
|
49
|
+
autotest_case_title : 'Исем',
|
|
50
|
+
autotest_case_description: 'Тасвирлама',
|
|
51
|
+
autotest_case_status : 'Статус',
|
|
52
|
+
autotest_case_kind : 'Төр',
|
|
53
|
+
test_account_id : 'Тест аккаунты',
|
|
54
|
+
pre_autotest_case_ids: 'Алдагы автотестлар',
|
|
55
|
+
tags : 'Теглар',
|
|
56
|
+
created_at : 'Ясалган',
|
|
57
|
+
updated_at : 'Яңартылган',
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
enum_value_translate_matrix: {
|
|
61
|
+
en: {
|
|
62
|
+
autotest_case_status: {
|
|
63
|
+
PENDING : 'Pending',
|
|
64
|
+
READY : 'Ready',
|
|
65
|
+
DISABLED: 'Disabled',
|
|
66
|
+
},
|
|
67
|
+
autotest_case_kind: {
|
|
68
|
+
CASE : 'Case',
|
|
69
|
+
COMMON: 'Common',
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
ru: {
|
|
73
|
+
autotest_case_status: {
|
|
74
|
+
PENDING : 'Черновик',
|
|
75
|
+
READY : 'Готов',
|
|
76
|
+
DISABLED: 'Выключен',
|
|
77
|
+
},
|
|
78
|
+
autotest_case_kind: {
|
|
79
|
+
CASE : 'Обычный',
|
|
80
|
+
COMMON: 'Общий',
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
tt: {
|
|
84
|
+
autotest_case_status: {
|
|
85
|
+
PENDING : 'Көтелә',
|
|
86
|
+
READY : 'Әзер',
|
|
87
|
+
DISABLED: 'Сүндерелгән',
|
|
88
|
+
},
|
|
89
|
+
autotest_case_kind: {
|
|
90
|
+
CASE : 'Гади',
|
|
91
|
+
COMMON: 'Гомуми',
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Переводы для typeAutotestResult.
|
|
3
|
+
*
|
|
4
|
+
* @see typeAutotestResult
|
|
5
|
+
*/
|
|
6
|
+
export const typeAutotestResult_i18n = {
|
|
7
|
+
attribute_name_translate_matrix: {
|
|
8
|
+
en: {
|
|
9
|
+
autotest_result_id : 'ID',
|
|
10
|
+
autotest_run_id : 'Run',
|
|
11
|
+
autotest_case_id : 'Autotest case',
|
|
12
|
+
team_id : 'Team',
|
|
13
|
+
autotest_result_status : 'Status',
|
|
14
|
+
report_json : 'Report',
|
|
15
|
+
screenshot_file_uuid : 'Screenshot',
|
|
16
|
+
started_at : 'Started at',
|
|
17
|
+
finished_at : 'Finished at',
|
|
18
|
+
created_at : 'Created at',
|
|
19
|
+
updated_at : 'Updated at',
|
|
20
|
+
},
|
|
21
|
+
ru: {
|
|
22
|
+
autotest_result_id : 'ID',
|
|
23
|
+
autotest_run_id : 'Запуск',
|
|
24
|
+
autotest_case_id : 'Автотест',
|
|
25
|
+
team_id : 'Команда',
|
|
26
|
+
autotest_result_status : 'Статус',
|
|
27
|
+
report_json : 'Отчёт',
|
|
28
|
+
screenshot_file_uuid : 'Скриншот',
|
|
29
|
+
started_at : 'Начато',
|
|
30
|
+
finished_at : 'Завершено',
|
|
31
|
+
created_at : 'Создано',
|
|
32
|
+
updated_at : 'Изменено',
|
|
33
|
+
},
|
|
34
|
+
tt: {
|
|
35
|
+
autotest_result_id : 'ID',
|
|
36
|
+
autotest_run_id : 'Йөгертү',
|
|
37
|
+
autotest_case_id : 'Автотест',
|
|
38
|
+
team_id : 'Команда',
|
|
39
|
+
autotest_result_status : 'Статус',
|
|
40
|
+
report_json : 'Отчёт',
|
|
41
|
+
screenshot_file_uuid : 'Скриншот',
|
|
42
|
+
started_at : 'Башланган',
|
|
43
|
+
finished_at : 'Тәмамланган',
|
|
44
|
+
created_at : 'Ясалган',
|
|
45
|
+
updated_at : 'Яңартылган',
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
enum_value_translate_matrix: {
|
|
49
|
+
en: {
|
|
50
|
+
autotest_result_status: {
|
|
51
|
+
PENDING: 'Pending',
|
|
52
|
+
PASSED : 'Passed',
|
|
53
|
+
FAILED : 'Failed',
|
|
54
|
+
SKIPPED: 'Skipped',
|
|
55
|
+
ERROR : 'Error',
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
ru: {
|
|
59
|
+
autotest_result_status: {
|
|
60
|
+
PENDING: 'Ожидает',
|
|
61
|
+
PASSED : 'Прошёл',
|
|
62
|
+
FAILED : 'Не прошёл',
|
|
63
|
+
SKIPPED: 'Пропущен',
|
|
64
|
+
ERROR : 'Ошибка инфраструктуры',
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
tt: {
|
|
68
|
+
autotest_result_status: {
|
|
69
|
+
PENDING: 'Көтелә',
|
|
70
|
+
PASSED : 'Үтте',
|
|
71
|
+
FAILED : 'Үтмәде',
|
|
72
|
+
SKIPPED: 'Калдырылды',
|
|
73
|
+
ERROR : 'Инфраструктура хатасы',
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
};
|