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.
Files changed (61) hide show
  1. package/package.json +1 -1
  2. package/publish/api/autotest_case_api.js +78 -0
  3. package/publish/api/autotest_result_api.js +17 -0
  4. package/publish/api/autotest_run_api.js +36 -0
  5. package/publish/api/autotest_step_api.js +88 -0
  6. package/publish/api/autotest_suite_api.js +17 -0
  7. package/publish/api/file_app_api.js +76 -0
  8. package/publish/api/index.js +16 -0
  9. package/publish/api/object_repository_element_api.js +17 -0
  10. package/publish/api/object_repository_folder_api.js +17 -0
  11. package/publish/api/object_repository_page_api.js +17 -0
  12. package/publish/app_configuration/menu_configuration_main.js +14 -0
  13. package/publish/app_configuration/table/helpers/table_element_models.js +16 -0
  14. package/publish/app_configuration/table/sections/autotest_case.js +73 -0
  15. package/publish/app_configuration/table/sections/autotest_result.js +59 -0
  16. package/publish/app_configuration/table/sections/autotest_run.js +66 -0
  17. package/publish/app_configuration/table/sections/autotest_step.js +82 -0
  18. package/publish/app_configuration/table/sections/autotest_suite.js +42 -0
  19. package/publish/app_configuration/table/sections/object_repository_element.js +59 -0
  20. package/publish/app_configuration/table/sections/object_repository_folder.js +41 -0
  21. package/publish/app_configuration/table/sections/object_repository_page.js +55 -0
  22. package/publish/app_configuration/table/table_configuration.js +16 -0
  23. package/publish/index.js +28 -0
  24. package/publish/services/FileAppService.js +48 -0
  25. package/publish/types/element_translate/typeAttachment.i18n.js +22 -11
  26. package/publish/types/element_translate/typeAutotestCase.i18n.js +95 -0
  27. package/publish/types/element_translate/typeAutotestResult.i18n.js +77 -0
  28. package/publish/types/element_translate/typeAutotestRun.i18n.js +110 -0
  29. package/publish/types/element_translate/typeAutotestStep.i18n.js +80 -0
  30. package/publish/types/element_translate/typeAutotestSuite.i18n.js +40 -0
  31. package/publish/types/element_translate/typeBug.i18n.js +1 -1
  32. package/publish/types/element_translate/typeCustomProperty.i18n.js +21 -6
  33. package/publish/types/element_translate/typeCustomPropertyValue.i18n.js +21 -6
  34. package/publish/types/element_translate/typeFile.i18n.js +21 -15
  35. package/publish/types/element_translate/typeObjectRepositoryElement.i18n.js +92 -0
  36. package/publish/types/element_translate/typeObjectRepositoryFolder.i18n.js +62 -0
  37. package/publish/types/element_translate/typeObjectRepositoryPage.i18n.js +43 -0
  38. package/publish/types/element_translate/typeTagRelation.i18n.js +18 -0
  39. package/publish/types/family_elements/autotest_step_actions/autotestStepActionCatalog.js +54 -0
  40. package/publish/types/family_elements/autotest_step_actions/autotestStepLocatorKind.js +56 -0
  41. package/publish/types/family_elements/autotest_step_actions/autotestStepTargetNormalizer.js +134 -0
  42. package/publish/types/family_elements/autotest_step_actions/typeAutotestStepAction.js +35 -0
  43. package/publish/types/family_elements/autotest_step_actions/typeAutotestStepActionVariants.js +148 -0
  44. package/publish/types/family_elements/autotest_step_actions/typeAutotestStepLocatorAction.js +12 -0
  45. package/publish/types/family_elements/autotest_step_actions/typeAutotestStepLocatorValueAction.js +13 -0
  46. package/publish/types/family_elements/typeAttachment.js +1 -1
  47. package/publish/types/family_elements/typeAutotestCase.js +220 -0
  48. package/publish/types/family_elements/typeAutotestResult.js +81 -0
  49. package/publish/types/family_elements/typeAutotestRun.js +165 -0
  50. package/publish/types/family_elements/typeAutotestStep.js +297 -0
  51. package/publish/types/family_elements/typeAutotestStepTarget.js +50 -0
  52. package/publish/types/family_elements/typeAutotestSuite.js +74 -0
  53. package/publish/types/family_elements/typeCustomProperty.js +1 -1
  54. package/publish/types/family_elements/typeObjectRepositoryElement.js +88 -0
  55. package/publish/types/family_elements/typeObjectRepositoryFolder.js +81 -0
  56. package/publish/types/family_elements/typeObjectRepositoryPage.js +77 -0
  57. package/publish/types/family_files/familyFile.js +2 -0
  58. package/publish/types/family_files/typeFileAutotestScreenshot.js +33 -0
  59. package/publish/types/family_files/typeFileFactory.js +3 -0
  60. package/publish/types/family_relation/typeCustomPropertyValue.js +7 -2
  61. package/publish/types/family_relation/typeTagRelation.js +30 -0
@@ -0,0 +1,81 @@
1
+ import { is_object } from "../../utils/utils.js";
2
+ import { familyTestAutomation } from "../core/1_familyTestAutomation.js";
3
+ import { typeObjectRepositoryFolder_i18n } from "../element_translate/typeObjectRepositoryFolder.i18n.js";
4
+ import _ from 'underscore';
5
+
6
+
7
+ /**
8
+ * Object Repository folder for one listing kind: PAGE or ELEMENT.
9
+ *
10
+ * @version v.1.0 (05/09/2026)
11
+ */
12
+ export class typeObjectRepositoryFolder extends familyTestAutomation
13
+ {
14
+ object_repository_folder_id;
15
+ team_id;
16
+ project_id;
17
+ parent_object_repository_folder_id;
18
+ object_repository_folder_kind;
19
+ object_repository_folder_title;
20
+ created_at;
21
+ updated_at;
22
+
23
+ primary_key = 'object_repository_folder_id';
24
+ api_key = 'object_repository_folder';
25
+
26
+ structure_scheme = {
27
+ object_repository_folder_id : 'integer | require',
28
+ team_id : 'integer | require',
29
+ project_id : 'integer | require',
30
+ parent_object_repository_folder_id: 'integer | optional',
31
+ object_repository_folder_kind : 'string | enum | require',
32
+ object_repository_folder_title : 'string | optional',
33
+ created_at : 'timestamp | optional',
34
+ updated_at : 'timestamp | optional',
35
+ };
36
+
37
+ create_scheme = [
38
+ 'project_id',
39
+ 'object_repository_folder_title',
40
+ 'parent_object_repository_folder_id',
41
+ 'object_repository_folder_kind',
42
+ ];
43
+
44
+ available_enum_values = {
45
+ object_repository_folder_kind: [ 'PAGE', 'ELEMENT' ],
46
+ };
47
+
48
+ enum_value_translate_matrix = typeObjectRepositoryFolder_i18n.enum_value_translate_matrix;
49
+ attribute_name_translate_matrix = typeObjectRepositoryFolder_i18n.attribute_name_translate_matrix;
50
+
51
+
52
+ /**
53
+ * @param {object|false|undefined} data
54
+ */
55
+ constructor(data = false)
56
+ {
57
+ super();
58
+
59
+ if (data && is_object(data))
60
+ {
61
+ _.mapObject(data, (value, key) =>
62
+ {
63
+ if (this.hasOwnProperty(key))
64
+ {
65
+ this[ key ] = value;
66
+ }
67
+ });
68
+ }
69
+
70
+ return this;
71
+ }
72
+
73
+
74
+ /**
75
+ * @returns {string}
76
+ */
77
+ get_element_name()
78
+ {
79
+ return this.object_repository_folder_title;
80
+ }
81
+ }
@@ -0,0 +1,77 @@
1
+ import { is_object } from "../../utils/utils.js";
2
+ import { familyTestAutomation } from "../core/1_familyTestAutomation.js";
3
+ import { typeObjectRepositoryPage_i18n } from "../element_translate/typeObjectRepositoryPage.i18n.js";
4
+ import _ from 'underscore';
5
+
6
+
7
+ /**
8
+ * Object Repository page. path is the same canon as goto (path from team domain).
9
+ *
10
+ * @version v.1.0 (05/09/2026)
11
+ */
12
+ export class typeObjectRepositoryPage extends familyTestAutomation
13
+ {
14
+ object_repository_page_id;
15
+ team_id;
16
+ project_id;
17
+ object_repository_folder_id;
18
+ object_repository_page_title;
19
+ path;
20
+ created_at;
21
+ updated_at;
22
+
23
+ primary_key = 'object_repository_page_id';
24
+ api_key = 'object_repository_page';
25
+
26
+ structure_scheme = {
27
+ object_repository_page_id : 'integer | require',
28
+ team_id : 'integer | require',
29
+ project_id : 'integer | require',
30
+ object_repository_folder_id : 'integer | optional',
31
+ object_repository_page_title: 'string | optional',
32
+ path : 'string | optional',
33
+ created_at : 'timestamp | optional',
34
+ updated_at : 'timestamp | optional',
35
+ };
36
+
37
+ create_scheme = [
38
+ 'project_id',
39
+ 'object_repository_page_title',
40
+ 'object_repository_folder_id',
41
+ 'path',
42
+ ];
43
+
44
+ enum_value_translate_matrix = typeObjectRepositoryPage_i18n.enum_value_translate_matrix;
45
+ attribute_name_translate_matrix = typeObjectRepositoryPage_i18n.attribute_name_translate_matrix;
46
+
47
+
48
+ /**
49
+ * @param {object|false|undefined} data
50
+ */
51
+ constructor(data = false)
52
+ {
53
+ super();
54
+
55
+ if (data && is_object(data))
56
+ {
57
+ _.mapObject(data, (value, key) =>
58
+ {
59
+ if (this.hasOwnProperty(key))
60
+ {
61
+ this[ key ] = value;
62
+ }
63
+ });
64
+ }
65
+
66
+ return this;
67
+ }
68
+
69
+
70
+ /**
71
+ * @returns {string}
72
+ */
73
+ get_element_name()
74
+ {
75
+ return this.object_repository_page_title;
76
+ }
77
+ }
@@ -14,10 +14,12 @@ export class familyFile extends familyGeneralElement
14
14
  {
15
15
  return [
16
16
  'screenshot',
17
+ 'autotest_screenshot',
17
18
  'html',
18
19
  'postman',
19
20
  'video',
20
21
  'json',
22
+ 'other',
21
23
  ];
22
24
  }
23
25
  }
@@ -0,0 +1,33 @@
1
+ import { typeFile } from "./typeFile.js";
2
+ import { typeFileScreenshot_i18n } from "../element_translate/typeFileScreenshot.i18n.js";
3
+
4
+
5
+ /**
6
+ * File App — category autotest_screenshot (не синоним screenshot).
7
+ *
8
+ * @version v.1.0 (04/09/2026)
9
+ */
10
+ export class typeFileAutotestScreenshot extends typeFile
11
+ {
12
+ static CATEGORY = 'autotest_screenshot';
13
+
14
+ category = typeFileAutotestScreenshot.CATEGORY;
15
+
16
+ attribute_name_translate_matrix = typeFileScreenshot_i18n.attribute_name_translate_matrix;
17
+
18
+
19
+ /**
20
+ * @param {object} payload
21
+ * @param {File|Blob} payload.file
22
+ * @returns {Promise<typeFileAutotestScreenshot>}
23
+ */
24
+ async upload(payload)
25
+ {
26
+ const { FileAppService } = await import("../../services/FileAppService.js");
27
+
28
+ return FileAppService.upload_file({
29
+ ...payload,
30
+ category: typeFileAutotestScreenshot.CATEGORY,
31
+ });
32
+ }
33
+ }
@@ -1,6 +1,7 @@
1
1
  import { is_object } from "../../utils/utils.js";
2
2
  import { typeFile } from "./typeFile.js";
3
3
  import { typeFileScreenshot } from "./typeFileScreenshot.js";
4
+ import { typeFileAutotestScreenshot } from "./typeFileAutotestScreenshot.js";
4
5
  import { typeFileHtml } from "./typeFileHtml.js";
5
6
  import { typeFilePostman } from "./typeFilePostman.js";
6
7
  import { typeFileVideo } from "./typeFileVideo.js";
@@ -25,6 +26,8 @@ export function create_type_file_from_wire(data)
25
26
  {
26
27
  case typeFileScreenshot.CATEGORY:
27
28
  return new typeFileScreenshot(data);
29
+ case typeFileAutotestScreenshot.CATEGORY:
30
+ return new typeFileAutotestScreenshot(data);
28
31
  case typeFileHtml.CATEGORY:
29
32
  return new typeFileHtml(data);
30
33
  case typeFilePostman.CATEGORY:
@@ -43,8 +43,13 @@ export class typeCustomPropertyValue extends familyRelation
43
43
  api_key = 'custom_property_value';
44
44
 
45
45
  static relation_target_map = {
46
- test_case: { type_token: 'typeTestCase', primary_key: 'test_case_id', api_key: 'test_case' },
47
- bug : { type_token: 'typeBug', primary_key: 'bug_id', api_key: 'bug' },
46
+ test_case : { type_token: 'typeTestCase', primary_key: 'test_case_id', api_key: 'test_case' },
47
+ bug : { type_token: 'typeBug', primary_key: 'bug_id', api_key: 'bug' },
48
+ autotest_case : { type_token: 'typeAutotestCase', primary_key: 'autotest_case_id', api_key: 'autotest_case' },
49
+ autotest_run : { type_token: 'typeAutotestRun', primary_key: 'autotest_run_id', api_key: 'autotest_run' },
50
+ object_repository_page : { type_token: 'typeObjectRepositoryPage', primary_key: 'object_repository_page_id', api_key: 'object_repository_page' },
51
+ object_repository_element : { type_token: 'typeObjectRepositoryElement', primary_key: 'object_repository_element_id', api_key: 'object_repository_element' },
52
+ object_repository_folder : { type_token: 'typeObjectRepositoryFolder', primary_key: 'object_repository_folder_id', api_key: 'object_repository_folder' },
48
53
  };
49
54
 
50
55
  structure_scheme = {
@@ -54,6 +54,36 @@ export class typeTagRelation extends familyRelation
54
54
  primary_key: 'execution_context_id',
55
55
  api_key : 'execution_context',
56
56
  },
57
+ autotest_case_id : {
58
+ type_token : 'typeAutotestCase',
59
+ primary_key: 'autotest_case_id',
60
+ api_key : 'autotest_case',
61
+ },
62
+ autotest_run_id : {
63
+ type_token : 'typeAutotestRun',
64
+ primary_key: 'autotest_run_id',
65
+ api_key : 'autotest_run',
66
+ },
67
+ autotest_suite_id : {
68
+ type_token : 'typeAutotestSuite',
69
+ primary_key: 'autotest_suite_id',
70
+ api_key : 'autotest_suite',
71
+ },
72
+ object_repository_page : {
73
+ type_token : 'typeObjectRepositoryPage',
74
+ primary_key: 'object_repository_page_id',
75
+ api_key : 'object_repository_page',
76
+ },
77
+ object_repository_element: {
78
+ type_token : 'typeObjectRepositoryElement',
79
+ primary_key: 'object_repository_element_id',
80
+ api_key : 'object_repository_element',
81
+ },
82
+ object_repository_folder : {
83
+ type_token : 'typeObjectRepositoryFolder',
84
+ primary_key: 'object_repository_folder_id',
85
+ api_key : 'object_repository_folder',
86
+ },
57
87
  };
58
88
 
59
89
  structure_scheme = {