complexqa_frontend_core 1.0.0 → 1.0.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/complexqa_frontend_core.js +253 -125
package/package.json
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
import i18next from 'i18next';
|
|
3
|
+
import axios from "axios";
|
|
4
|
+
import * as qs from "query-string/base";
|
|
5
|
+
|
|
1
6
|
/**
|
|
2
7
|
* Прототип идеи, пока не уверен, что именно так надо
|
|
3
8
|
*
|
|
4
9
|
* @version v.0.1 (25/06/2024)
|
|
5
10
|
*/
|
|
6
|
-
class App
|
|
11
|
+
export class App
|
|
7
12
|
{
|
|
8
13
|
|
|
9
14
|
init_options = false;
|
|
@@ -38,13 +43,14 @@ class App
|
|
|
38
43
|
this.service.translate = new serviceTranslate();
|
|
39
44
|
}
|
|
40
45
|
}
|
|
41
|
-
|
|
46
|
+
|
|
47
|
+
|
|
42
48
|
/**
|
|
43
49
|
* Общие методы для всех типизированных элементов
|
|
44
50
|
*
|
|
45
51
|
* @version v.2.0 (24/11/2024)
|
|
46
52
|
*/
|
|
47
|
-
class ApiAbstractElementClass
|
|
53
|
+
export class ApiAbstractElementClass
|
|
48
54
|
{
|
|
49
55
|
|
|
50
56
|
init_options;
|
|
@@ -423,13 +429,14 @@ class ApiAbstractElementClass
|
|
|
423
429
|
|
|
424
430
|
return response;
|
|
425
431
|
}
|
|
426
|
-
}
|
|
432
|
+
}
|
|
433
|
+
|
|
427
434
|
|
|
428
435
|
/**
|
|
429
436
|
*
|
|
430
437
|
* @version v.0.1 (24/11/2024)
|
|
431
438
|
*/
|
|
432
|
-
class FunctionalApi extends ApiAbstractElementClass
|
|
439
|
+
export class FunctionalApi extends ApiAbstractElementClass
|
|
433
440
|
{
|
|
434
441
|
module_prefix = 'functional';
|
|
435
442
|
|
|
@@ -438,12 +445,13 @@ class FunctionalApi extends ApiAbstractElementClass
|
|
|
438
445
|
super(options);
|
|
439
446
|
this.set_element_class_instance(typeFunctional);
|
|
440
447
|
}
|
|
441
|
-
}
|
|
448
|
+
}
|
|
449
|
+
|
|
442
450
|
/**
|
|
443
451
|
* Обертка над axios
|
|
444
452
|
* @version v.0.3 (26/01/2025)
|
|
445
453
|
*/
|
|
446
|
-
class Api
|
|
454
|
+
export class Api
|
|
447
455
|
{
|
|
448
456
|
/**
|
|
449
457
|
* Режим работы
|
|
@@ -544,12 +552,13 @@ class Api
|
|
|
544
552
|
this.project = new ProjectApi(payload);
|
|
545
553
|
this.service = new ServiceApi(payload);
|
|
546
554
|
}
|
|
547
|
-
}
|
|
555
|
+
}
|
|
556
|
+
|
|
548
557
|
/**
|
|
549
558
|
*
|
|
550
559
|
* @version v.0.1 (15/06/2024)
|
|
551
560
|
*/
|
|
552
|
-
class ProjectApi extends ApiAbstractElementClass
|
|
561
|
+
export class ProjectApi extends ApiAbstractElementClass
|
|
553
562
|
{
|
|
554
563
|
module_prefix = 'project';
|
|
555
564
|
|
|
@@ -558,10 +567,10 @@ class ProjectApi extends ApiAbstractElementClass
|
|
|
558
567
|
super(options);
|
|
559
568
|
this.set_element_class_instance(typeProject);
|
|
560
569
|
}
|
|
561
|
-
}
|
|
570
|
+
}
|
|
562
571
|
|
|
563
572
|
// тут нужен свой класс, не для типов
|
|
564
|
-
class ServiceApi
|
|
573
|
+
export class ServiceApi
|
|
565
574
|
{
|
|
566
575
|
module_prefix = '--';
|
|
567
576
|
|
|
@@ -578,13 +587,14 @@ class ServiceApi
|
|
|
578
587
|
{
|
|
579
588
|
return [];
|
|
580
589
|
}
|
|
581
|
-
}
|
|
590
|
+
}
|
|
591
|
+
|
|
582
592
|
|
|
583
593
|
/**
|
|
584
594
|
*
|
|
585
595
|
* @version v.0.1 (24/11/2024)
|
|
586
596
|
*/
|
|
587
|
-
class TeamMemberApi extends ApiAbstractElementClass
|
|
597
|
+
export class TeamMemberApi extends ApiAbstractElementClass
|
|
588
598
|
{
|
|
589
599
|
module_prefix = 'team_member';
|
|
590
600
|
|
|
@@ -593,13 +603,14 @@ class TeamMemberApi extends ApiAbstractElementClass
|
|
|
593
603
|
super(options);
|
|
594
604
|
this.set_element_class_instance(typeTeamMember);
|
|
595
605
|
}
|
|
596
|
-
}
|
|
606
|
+
}
|
|
607
|
+
|
|
597
608
|
|
|
598
609
|
/**
|
|
599
610
|
*
|
|
600
611
|
* @version v.0.1 (24/11/2024)
|
|
601
612
|
*/
|
|
602
|
-
class TestCaseApi extends ApiAbstractElementClass
|
|
613
|
+
export class TestCaseApi extends ApiAbstractElementClass
|
|
603
614
|
{
|
|
604
615
|
module_prefix = 'test_case';
|
|
605
616
|
|
|
@@ -608,13 +619,14 @@ class TestCaseApi extends ApiAbstractElementClass
|
|
|
608
619
|
super(options);
|
|
609
620
|
this.set_element_class_instance(typeTestCase);
|
|
610
621
|
}
|
|
611
|
-
}
|
|
622
|
+
}
|
|
623
|
+
|
|
612
624
|
|
|
613
625
|
/**
|
|
614
626
|
*
|
|
615
627
|
* @version v.0.1 (24/11/2024)
|
|
616
628
|
*/
|
|
617
|
-
class TestCaseStepApi extends ApiAbstractElementClass
|
|
629
|
+
export class TestCaseStepApi extends ApiAbstractElementClass
|
|
618
630
|
{
|
|
619
631
|
module_prefix = 'test_case_step';
|
|
620
632
|
|
|
@@ -623,13 +635,14 @@ class TestCaseStepApi extends ApiAbstractElementClass
|
|
|
623
635
|
super(options);
|
|
624
636
|
this.set_element_class_instance(typeTestCaseStep);
|
|
625
637
|
}
|
|
626
|
-
}
|
|
638
|
+
}
|
|
639
|
+
|
|
627
640
|
|
|
628
641
|
/**
|
|
629
642
|
*
|
|
630
643
|
* @version v.0.1 (26/05/2024)
|
|
631
644
|
*/
|
|
632
|
-
class TestPlanApi extends ApiAbstractElementClass
|
|
645
|
+
export class TestPlanApi extends ApiAbstractElementClass
|
|
633
646
|
{
|
|
634
647
|
module_prefix = 'test_plan';
|
|
635
648
|
|
|
@@ -638,8 +651,9 @@ class TestPlanApi extends ApiAbstractElementClass
|
|
|
638
651
|
super(options);
|
|
639
652
|
this.set_element_class_instance(typeTestPlan);
|
|
640
653
|
}
|
|
641
|
-
}
|
|
642
|
-
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
export class TestRunApi extends ApiAbstractElementClass
|
|
643
657
|
{
|
|
644
658
|
module_prefix = 'test_run';
|
|
645
659
|
|
|
@@ -648,13 +662,14 @@ class TestRunApi extends ApiAbstractElementClass
|
|
|
648
662
|
super(options);
|
|
649
663
|
this.set_element_class_instance(typeTestRun);
|
|
650
664
|
}
|
|
651
|
-
}
|
|
665
|
+
}
|
|
666
|
+
|
|
652
667
|
|
|
653
668
|
/**
|
|
654
669
|
*
|
|
655
670
|
* @version v.0.1 (24/11/2024)
|
|
656
671
|
*/
|
|
657
|
-
class TestRunResultApi extends ApiAbstractElementClass
|
|
672
|
+
export class TestRunResultApi extends ApiAbstractElementClass
|
|
658
673
|
{
|
|
659
674
|
module_prefix = 'test_run_result';
|
|
660
675
|
|
|
@@ -663,13 +678,14 @@ class TestRunResultApi extends ApiAbstractElementClass
|
|
|
663
678
|
super(options);
|
|
664
679
|
this.set_element_class_instance(typeTestRunResult);
|
|
665
680
|
}
|
|
666
|
-
}
|
|
681
|
+
}
|
|
682
|
+
|
|
667
683
|
|
|
668
684
|
/**
|
|
669
685
|
*
|
|
670
686
|
* @version v.0.1 (24/11/2024)
|
|
671
687
|
*/
|
|
672
|
-
class TestSuiteApi extends ApiAbstractElementClass
|
|
688
|
+
export class TestSuiteApi extends ApiAbstractElementClass
|
|
673
689
|
{
|
|
674
690
|
module_prefix = 'test_suite';
|
|
675
691
|
|
|
@@ -678,8 +694,8 @@ class TestSuiteApi extends ApiAbstractElementClass
|
|
|
678
694
|
super(options);
|
|
679
695
|
this.set_element_class_instance(typeTestSuite);
|
|
680
696
|
}
|
|
681
|
-
}
|
|
682
|
-
class ApiException extends Error
|
|
697
|
+
}
|
|
698
|
+
export class ApiException extends Error
|
|
683
699
|
{
|
|
684
700
|
/**
|
|
685
701
|
* Сообщение об ошибке
|
|
@@ -747,12 +763,12 @@ class ApiException extends Error
|
|
|
747
763
|
return this.#message;
|
|
748
764
|
}
|
|
749
765
|
}
|
|
750
|
-
}
|
|
766
|
+
}
|
|
751
767
|
/**
|
|
752
768
|
*
|
|
753
769
|
* @version v.0.1 (25/06/2024)
|
|
754
770
|
*/
|
|
755
|
-
class abstractService
|
|
771
|
+
export class abstractService
|
|
756
772
|
{
|
|
757
773
|
init_options = false;
|
|
758
774
|
|
|
@@ -773,16 +789,23 @@ class abstractService
|
|
|
773
789
|
this.constructor._instance = this;*/
|
|
774
790
|
}
|
|
775
791
|
|
|
792
|
+
|
|
793
|
+
static mock()
|
|
794
|
+
{
|
|
795
|
+
|
|
796
|
+
}
|
|
797
|
+
|
|
776
798
|
/*#bootstrap()
|
|
777
799
|
{
|
|
778
800
|
|
|
779
801
|
}*/
|
|
780
|
-
}
|
|
802
|
+
}
|
|
803
|
+
|
|
781
804
|
/**
|
|
782
805
|
*
|
|
783
806
|
* @version v.0.1 (25/06/2024)
|
|
784
807
|
*/
|
|
785
|
-
class serviceTranslate extends abstractService
|
|
808
|
+
export class serviceTranslate extends abstractService
|
|
786
809
|
{
|
|
787
810
|
#language = 'en';
|
|
788
811
|
#available_language = [ 'ru', 'en' ];
|
|
@@ -871,39 +894,34 @@ class serviceTranslate extends abstractService
|
|
|
871
894
|
{
|
|
872
895
|
return this.#vendor_instance.t(group + '.' + key);
|
|
873
896
|
}
|
|
874
|
-
}
|
|
875
|
-
|
|
876
|
-
|
|
897
|
+
}
|
|
898
|
+
|
|
899
|
+
|
|
900
|
+
/**
|
|
877
901
|
*
|
|
878
902
|
* @version v.1.0 (18/11/2024)
|
|
879
|
-
|
|
880
|
-
class UserService extends abstractService
|
|
903
|
+
*/
|
|
904
|
+
export class UserService extends abstractService
|
|
881
905
|
{
|
|
882
906
|
|
|
883
|
-
static
|
|
884
|
-
static
|
|
885
|
-
static
|
|
886
|
-
static
|
|
887
|
-
static
|
|
888
|
-
static
|
|
907
|
+
static current_user_id = false;
|
|
908
|
+
static user_name = false;
|
|
909
|
+
static current_team_id = false;
|
|
910
|
+
static current_team_slug = false;
|
|
911
|
+
static user_teams = false;
|
|
912
|
+
static roles = [ 'guest' ];
|
|
913
|
+
static current_language = 'en';
|
|
914
|
+
static csrf_token = false;
|
|
889
915
|
|
|
890
916
|
|
|
891
|
-
|
|
892
|
-
*
|
|
893
|
-
*
|
|
894
|
-
* @version v.1.0 (18/11/2024)
|
|
895
|
-
*
|
|
896
|
-
* @param init_options
|
|
897
|
-
* @returns {*}
|
|
898
|
-
*!/
|
|
899
|
-
/!**
|
|
917
|
+
/**
|
|
900
918
|
*
|
|
901
919
|
*
|
|
902
920
|
* @version v.1.0 (18/11/2024)
|
|
903
921
|
*
|
|
904
922
|
* @param init_options
|
|
905
923
|
* @returns {*}
|
|
906
|
-
|
|
924
|
+
*/
|
|
907
925
|
constructor(init_options = false)
|
|
908
926
|
{
|
|
909
927
|
super();
|
|
@@ -915,46 +933,103 @@ class UserService extends abstractService
|
|
|
915
933
|
this.init_options = init_options;
|
|
916
934
|
|
|
917
935
|
this.constructor._instance = this;
|
|
918
|
-
|
|
936
|
+
}
|
|
937
|
+
|
|
938
|
+
static mock()
|
|
939
|
+
{
|
|
940
|
+
MockUserService.mock_attributes.map((row) =>
|
|
941
|
+
{
|
|
942
|
+
UserService[ row.key ] = row.value;
|
|
943
|
+
});
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
static get_csrf_token()
|
|
947
|
+
{
|
|
948
|
+
return UserService.csrf_token;
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
static set_csrf_token(csrf_token)
|
|
952
|
+
{
|
|
953
|
+
UserService.csrf_token = csrf_token;
|
|
919
954
|
}
|
|
920
955
|
|
|
921
956
|
static get_current_user_id()
|
|
922
957
|
{
|
|
923
|
-
return UserService
|
|
958
|
+
return UserService.current_user_id;
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
static set_current_user_id(current_user_id)
|
|
962
|
+
{
|
|
963
|
+
UserService.current_user_id = current_user_id;
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
static get_current_team_slug()
|
|
967
|
+
{
|
|
968
|
+
return UserService.current_team_slug;
|
|
969
|
+
}
|
|
970
|
+
|
|
971
|
+
static set_current_team_slug(current_team_slug)
|
|
972
|
+
{
|
|
973
|
+
UserService.current_team_slug = current_team_slug;
|
|
924
974
|
}
|
|
925
975
|
|
|
926
976
|
static get_user_name()
|
|
927
977
|
{
|
|
928
|
-
return UserService
|
|
978
|
+
return UserService.user_name;
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
static set_user_name(user_name)
|
|
982
|
+
{
|
|
983
|
+
UserService.user_name = user_name;
|
|
929
984
|
}
|
|
930
985
|
|
|
931
986
|
static get_current_team_id()
|
|
932
987
|
{
|
|
933
|
-
return UserService
|
|
988
|
+
return UserService.current_team_id;
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
static set_current_team_id(current_team_id)
|
|
992
|
+
{
|
|
993
|
+
UserService.current_team_id = current_team_id;
|
|
934
994
|
}
|
|
935
995
|
|
|
936
996
|
static get_user_teams()
|
|
937
997
|
{
|
|
938
|
-
return UserService
|
|
998
|
+
return UserService.user_teams;
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
static set_user_teams(user_teams)
|
|
1002
|
+
{
|
|
1003
|
+
UserService.user_teams = user_teams;
|
|
939
1004
|
}
|
|
940
1005
|
|
|
941
1006
|
static get_roles()
|
|
942
1007
|
{
|
|
943
|
-
return UserService
|
|
1008
|
+
return UserService.roles;
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
static get_roles(roles)
|
|
1012
|
+
{
|
|
1013
|
+
UserService.roles = roles;
|
|
944
1014
|
}
|
|
945
1015
|
|
|
946
1016
|
static get_current_language()
|
|
947
1017
|
{
|
|
948
|
-
return UserService
|
|
1018
|
+
return UserService.current_language;
|
|
949
1019
|
}
|
|
950
|
-
|
|
951
|
-
|
|
1020
|
+
|
|
1021
|
+
static set_current_language(current_language)
|
|
1022
|
+
{
|
|
1023
|
+
UserService.current_language = current_language;
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
|
|
952
1027
|
/**
|
|
953
1028
|
*
|
|
954
1029
|
* @param {object} object
|
|
955
1030
|
* @returns {object}
|
|
956
1031
|
*/
|
|
957
|
-
function clone_object(object)
|
|
1032
|
+
export function clone_object(object)
|
|
958
1033
|
{
|
|
959
1034
|
// @todo use deep clone
|
|
960
1035
|
// @todo add validation
|
|
@@ -965,7 +1040,7 @@ function clone_object(object)
|
|
|
965
1040
|
*
|
|
966
1041
|
* @param {string|number|array|object} text
|
|
967
1042
|
*/
|
|
968
|
-
function echo(text)
|
|
1043
|
+
export function echo(text)
|
|
969
1044
|
{
|
|
970
1045
|
console.log(text);
|
|
971
1046
|
}
|
|
@@ -975,7 +1050,7 @@ function echo(text)
|
|
|
975
1050
|
*
|
|
976
1051
|
* @param {string|number|array|object} data
|
|
977
1052
|
*/
|
|
978
|
-
function echo_table(...data)
|
|
1053
|
+
export function echo_table(...data)
|
|
979
1054
|
{
|
|
980
1055
|
if (is_array(data))
|
|
981
1056
|
{
|
|
@@ -997,7 +1072,7 @@ function echo_table(...data)
|
|
|
997
1072
|
* @param {boolean} strict_mode
|
|
998
1073
|
* @returns {boolean}
|
|
999
1074
|
*/
|
|
1000
|
-
function is_array(data, strict_mode = false)
|
|
1075
|
+
export function is_array(data, strict_mode = false)
|
|
1001
1076
|
{
|
|
1002
1077
|
if (strict_mode)
|
|
1003
1078
|
{
|
|
@@ -1030,7 +1105,7 @@ function is_array(data, strict_mode = false)
|
|
|
1030
1105
|
* @param {*} value
|
|
1031
1106
|
* @returns {boolean}
|
|
1032
1107
|
*/
|
|
1033
|
-
function is_object(value)
|
|
1108
|
+
export function is_object(value)
|
|
1034
1109
|
{
|
|
1035
1110
|
return _.isObject(value);
|
|
1036
1111
|
}
|
|
@@ -1042,7 +1117,7 @@ function is_object(value)
|
|
|
1042
1117
|
* @param {*} value
|
|
1043
1118
|
* @returns {boolean}
|
|
1044
1119
|
*/
|
|
1045
|
-
function is_string(value)
|
|
1120
|
+
export function is_string(value)
|
|
1046
1121
|
{
|
|
1047
1122
|
let response = false;
|
|
1048
1123
|
if (typeof value === 'string')
|
|
@@ -1059,7 +1134,7 @@ function is_string(value)
|
|
|
1059
1134
|
* @param {*} value
|
|
1060
1135
|
* @returns {boolean}
|
|
1061
1136
|
*/
|
|
1062
|
-
function is_number(value)
|
|
1137
|
+
export function is_number(value)
|
|
1063
1138
|
{
|
|
1064
1139
|
let response = false;
|
|
1065
1140
|
|
|
@@ -1086,7 +1161,7 @@ function is_number(value)
|
|
|
1086
1161
|
* @param {array} array массив
|
|
1087
1162
|
* @returns {number|false} количество элементов массива
|
|
1088
1163
|
*/
|
|
1089
|
-
function count(array)
|
|
1164
|
+
export function count(array)
|
|
1090
1165
|
{
|
|
1091
1166
|
let response = false;
|
|
1092
1167
|
if (array instanceof Array)
|
|
@@ -1109,7 +1184,7 @@ function count(array)
|
|
|
1109
1184
|
* @param {boolean} strict
|
|
1110
1185
|
* @returns {boolean}
|
|
1111
1186
|
*/
|
|
1112
|
-
function in_array(value, array, strict = false)
|
|
1187
|
+
export function in_array(value, array, strict = false)
|
|
1113
1188
|
{
|
|
1114
1189
|
if (!is_array(array))
|
|
1115
1190
|
{
|
|
@@ -1135,16 +1210,47 @@ function in_array(value, array, strict = false)
|
|
|
1135
1210
|
return Boolean(response);
|
|
1136
1211
|
}
|
|
1137
1212
|
|
|
1138
|
-
function cls()
|
|
1213
|
+
export function cls()
|
|
1139
1214
|
{
|
|
1140
1215
|
console.clear();
|
|
1141
|
-
}
|
|
1216
|
+
}
|
|
1217
|
+
export class MockUserService
|
|
1218
|
+
{
|
|
1219
|
+
static mock_attributes = [ {
|
|
1220
|
+
key : 'current_user_id',
|
|
1221
|
+
value: 999999
|
|
1222
|
+
}, {
|
|
1223
|
+
key : 'user_name',
|
|
1224
|
+
value: 'Local User Name'
|
|
1225
|
+
}, {
|
|
1226
|
+
key : 'current_team_id',
|
|
1227
|
+
value: 99999999
|
|
1228
|
+
}, {
|
|
1229
|
+
key : 'current_team_slug',
|
|
1230
|
+
value: 'mock_team'
|
|
1231
|
+
}, {
|
|
1232
|
+
key : 'user_teams',
|
|
1233
|
+
value: [ 'mock_team' ]
|
|
1234
|
+
}, {
|
|
1235
|
+
key : 'roles',
|
|
1236
|
+
value: [ 'guest' ]
|
|
1237
|
+
}, {
|
|
1238
|
+
key : 'current_language',
|
|
1239
|
+
value: 'en'
|
|
1240
|
+
}, {
|
|
1241
|
+
key : 'csrf_token',
|
|
1242
|
+
value: 'as89as98asd098asd98'
|
|
1243
|
+
},
|
|
1244
|
+
];
|
|
1245
|
+
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1142
1248
|
/**
|
|
1143
1249
|
* Базовый абстрактный класс для всех типов
|
|
1144
1250
|
*
|
|
1145
1251
|
* @version v.0.1 (26/05/2024)
|
|
1146
1252
|
*/
|
|
1147
|
-
class familyGeneralElement
|
|
1253
|
+
export class familyGeneralElement
|
|
1148
1254
|
{
|
|
1149
1255
|
primary_key = false;
|
|
1150
1256
|
create_scheme = false;
|
|
@@ -1401,22 +1507,23 @@ class familyGeneralElement
|
|
|
1401
1507
|
alert('Error #267-001 Not implemented method');
|
|
1402
1508
|
return false;
|
|
1403
1509
|
}
|
|
1404
|
-
}
|
|
1510
|
+
}
|
|
1405
1511
|
/**
|
|
1406
1512
|
* Заготовка - логи действий
|
|
1407
1513
|
*
|
|
1408
1514
|
* @version v.0.1 (15/10/2024)
|
|
1409
1515
|
*/
|
|
1410
|
-
class typeActionLog
|
|
1516
|
+
export class typeActionLog
|
|
1411
1517
|
{
|
|
1412
1518
|
|
|
1413
|
-
}
|
|
1519
|
+
}
|
|
1520
|
+
|
|
1414
1521
|
|
|
1415
1522
|
/**
|
|
1416
1523
|
*
|
|
1417
1524
|
* @version v.0.1 (23/06/2024)
|
|
1418
1525
|
*/
|
|
1419
|
-
class typeFunctional extends familyGeneralElement
|
|
1526
|
+
export class typeFunctional extends familyGeneralElement
|
|
1420
1527
|
{
|
|
1421
1528
|
functional_id;
|
|
1422
1529
|
project_id; // foreign key
|
|
@@ -1503,12 +1610,13 @@ class typeFunctional extends familyGeneralElement
|
|
|
1503
1610
|
}
|
|
1504
1611
|
|
|
1505
1612
|
|
|
1506
|
-
}
|
|
1613
|
+
}
|
|
1614
|
+
|
|
1507
1615
|
|
|
1508
1616
|
/**
|
|
1509
1617
|
* @version v.0.2 (25/01/2025)
|
|
1510
1618
|
*/
|
|
1511
|
-
class typeFunctionalGroup extends familyGeneralElement
|
|
1619
|
+
export class typeFunctionalGroup extends familyGeneralElement
|
|
1512
1620
|
{
|
|
1513
1621
|
functional_group_id;
|
|
1514
1622
|
project_id; // foreign key
|
|
@@ -1595,12 +1703,13 @@ class typeFunctionalGroup extends familyGeneralElement
|
|
|
1595
1703
|
}
|
|
1596
1704
|
|
|
1597
1705
|
|
|
1598
|
-
}
|
|
1706
|
+
}
|
|
1707
|
+
|
|
1599
1708
|
/**
|
|
1600
1709
|
*
|
|
1601
1710
|
* @version v.0.2 (15/06/2024)
|
|
1602
1711
|
*/
|
|
1603
|
-
class typeMilestone extends familyGeneralElement
|
|
1712
|
+
export class typeMilestone extends familyGeneralElement
|
|
1604
1713
|
{
|
|
1605
1714
|
milestone_id; // primary AI
|
|
1606
1715
|
milestone_name;
|
|
@@ -1685,13 +1794,14 @@ class typeMilestone extends familyGeneralElement
|
|
|
1685
1794
|
}
|
|
1686
1795
|
|
|
1687
1796
|
|
|
1688
|
-
}
|
|
1797
|
+
}
|
|
1798
|
+
|
|
1689
1799
|
|
|
1690
1800
|
/**
|
|
1691
1801
|
*
|
|
1692
1802
|
* @version v.0.2 (15/06/2024)
|
|
1693
1803
|
*/
|
|
1694
|
-
class typeProject extends familyGeneralElement
|
|
1804
|
+
export class typeProject extends familyGeneralElement
|
|
1695
1805
|
{
|
|
1696
1806
|
project_id; // primary
|
|
1697
1807
|
project_name;
|
|
@@ -1848,7 +1958,8 @@ class typeProject extends familyGeneralElement
|
|
|
1848
1958
|
member_get() {}
|
|
1849
1959
|
|
|
1850
1960
|
|
|
1851
|
-
}
|
|
1961
|
+
}
|
|
1962
|
+
|
|
1852
1963
|
/**
|
|
1853
1964
|
* (идея) - у проекта должна быть тестовая документация
|
|
1854
1965
|
*
|
|
@@ -1856,7 +1967,7 @@ class typeProject extends familyGeneralElement
|
|
|
1856
1967
|
*
|
|
1857
1968
|
* @version v.0.2 (07/07/2024)
|
|
1858
1969
|
*/
|
|
1859
|
-
class typeProjectDocument extends familyGeneralElement
|
|
1970
|
+
export class typeProjectDocument extends familyGeneralElement
|
|
1860
1971
|
{
|
|
1861
1972
|
project_document_id;
|
|
1862
1973
|
project_id;
|
|
@@ -1925,7 +2036,8 @@ class typeProjectDocument extends familyGeneralElement
|
|
|
1925
2036
|
{
|
|
1926
2037
|
|
|
1927
2038
|
}
|
|
1928
|
-
}
|
|
2039
|
+
}
|
|
2040
|
+
|
|
1929
2041
|
/**
|
|
1930
2042
|
* Тестовые аккаунты
|
|
1931
2043
|
*
|
|
@@ -1934,7 +2046,7 @@ class typeProjectDocument extends familyGeneralElement
|
|
|
1934
2046
|
*
|
|
1935
2047
|
* @version v.0.1 (30/06/2024)
|
|
1936
2048
|
*/
|
|
1937
|
-
class typeProjectTestAccount extends familyGeneralElement
|
|
2049
|
+
export class typeProjectTestAccount extends familyGeneralElement
|
|
1938
2050
|
{
|
|
1939
2051
|
test_account_id;
|
|
1940
2052
|
project_id;
|
|
@@ -1981,7 +2093,8 @@ class typeProjectTestAccount extends familyGeneralElement
|
|
|
1981
2093
|
|
|
1982
2094
|
return this;
|
|
1983
2095
|
}
|
|
1984
|
-
}
|
|
2096
|
+
}
|
|
2097
|
+
|
|
1985
2098
|
/**
|
|
1986
2099
|
* Тестовые данные
|
|
1987
2100
|
* Какая-то коллекция, созданная для тестирования и ввода
|
|
@@ -1991,7 +2104,7 @@ class typeProjectTestAccount extends familyGeneralElement
|
|
|
1991
2104
|
* (идея)
|
|
1992
2105
|
* @version v.0.1 (30/06/2024)
|
|
1993
2106
|
*/
|
|
1994
|
-
class typeProjectTestData extends familyGeneralElement
|
|
2107
|
+
export class typeProjectTestData extends familyGeneralElement
|
|
1995
2108
|
{
|
|
1996
2109
|
// как храним? json или какие-то структуры? [key->value] ?
|
|
1997
2110
|
test_data_id;
|
|
@@ -2021,12 +2134,13 @@ class typeProjectTestData extends familyGeneralElement
|
|
|
2021
2134
|
|
|
2022
2135
|
return this;
|
|
2023
2136
|
}
|
|
2024
|
-
}
|
|
2137
|
+
}
|
|
2138
|
+
|
|
2025
2139
|
/**
|
|
2026
2140
|
* Роли в проекте
|
|
2027
2141
|
* @version v.0.1 (07/07/2024)
|
|
2028
2142
|
*/
|
|
2029
|
-
class typeProjectUserRole extends familyGeneralElement
|
|
2143
|
+
export class typeProjectUserRole extends familyGeneralElement
|
|
2030
2144
|
{
|
|
2031
2145
|
// строго определенный список
|
|
2032
2146
|
// без возможности создания иных
|
|
@@ -2073,12 +2187,13 @@ class typeProjectUserRole extends familyGeneralElement
|
|
|
2073
2187
|
|
|
2074
2188
|
return this;
|
|
2075
2189
|
}
|
|
2076
|
-
}
|
|
2190
|
+
}
|
|
2191
|
+
|
|
2077
2192
|
|
|
2078
2193
|
/**
|
|
2079
2194
|
* @version v.2.0 (07/07/2024)
|
|
2080
2195
|
*/
|
|
2081
|
-
class typeTask extends familyGeneralElement
|
|
2196
|
+
export class typeTask extends familyGeneralElement
|
|
2082
2197
|
{
|
|
2083
2198
|
task_id;
|
|
2084
2199
|
team_id; // foreign key
|
|
@@ -2148,12 +2263,13 @@ class typeTask extends familyGeneralElement
|
|
|
2148
2263
|
|
|
2149
2264
|
return this;
|
|
2150
2265
|
}
|
|
2151
|
-
}
|
|
2266
|
+
}
|
|
2267
|
+
|
|
2152
2268
|
|
|
2153
2269
|
/**
|
|
2154
2270
|
* @version v.0.1 (23/06/2024)
|
|
2155
2271
|
*/
|
|
2156
|
-
class typeTeam extends familyGeneralElement
|
|
2272
|
+
export class typeTeam extends familyGeneralElement
|
|
2157
2273
|
{
|
|
2158
2274
|
team_id; //
|
|
2159
2275
|
team_status; // enum
|
|
@@ -2250,12 +2366,12 @@ class typeTeam extends familyGeneralElement
|
|
|
2250
2366
|
user_delete() {}
|
|
2251
2367
|
|
|
2252
2368
|
users_get() {}
|
|
2253
|
-
}
|
|
2369
|
+
}
|
|
2254
2370
|
|
|
2255
2371
|
/**
|
|
2256
2372
|
* @version v.0.2 (11/11/2024)
|
|
2257
2373
|
*/
|
|
2258
|
-
class typeTeamMember extends familyGeneralElement
|
|
2374
|
+
export class typeTeamMember extends familyGeneralElement
|
|
2259
2375
|
{
|
|
2260
2376
|
team_member_id;
|
|
2261
2377
|
team_id;
|
|
@@ -2305,7 +2421,8 @@ class typeTeamMember extends familyGeneralElement
|
|
|
2305
2421
|
|
|
2306
2422
|
return this;
|
|
2307
2423
|
}
|
|
2308
|
-
}
|
|
2424
|
+
}
|
|
2425
|
+
|
|
2309
2426
|
/**
|
|
2310
2427
|
* Роль пользователя в команде
|
|
2311
2428
|
* Должно стать часть team management
|
|
@@ -2314,7 +2431,7 @@ class typeTeamMember extends familyGeneralElement
|
|
|
2314
2431
|
*
|
|
2315
2432
|
* @version v.0.1 (07/07/2024)
|
|
2316
2433
|
*/
|
|
2317
|
-
class typeTeamUserRole extends familyGeneralElement
|
|
2434
|
+
export class typeTeamUserRole extends familyGeneralElement
|
|
2318
2435
|
{
|
|
2319
2436
|
// @todo - все не актуально, поменять
|
|
2320
2437
|
role_slug;
|
|
@@ -2358,13 +2475,14 @@ class typeTeamUserRole extends familyGeneralElement
|
|
|
2358
2475
|
|
|
2359
2476
|
return this;
|
|
2360
2477
|
}
|
|
2361
|
-
}
|
|
2478
|
+
}
|
|
2479
|
+
|
|
2362
2480
|
|
|
2363
2481
|
/**
|
|
2364
2482
|
*
|
|
2365
2483
|
* @version v.0.2 (10/12/2024)
|
|
2366
2484
|
*/
|
|
2367
|
-
class typeTestCase extends familyGeneralElement
|
|
2485
|
+
export class typeTestCase extends familyGeneralElement
|
|
2368
2486
|
{
|
|
2369
2487
|
test_case_id;
|
|
2370
2488
|
test_suite_id; // foreign key
|
|
@@ -2468,13 +2586,14 @@ class typeTestCase extends familyGeneralElement
|
|
|
2468
2586
|
}
|
|
2469
2587
|
|
|
2470
2588
|
|
|
2471
|
-
}
|
|
2589
|
+
}
|
|
2590
|
+
|
|
2472
2591
|
|
|
2473
2592
|
/**
|
|
2474
2593
|
*
|
|
2475
2594
|
* @version v.0.1 (26/05/2024)
|
|
2476
2595
|
*/
|
|
2477
|
-
class typeTestCaseStep extends familyGeneralElement
|
|
2596
|
+
export class typeTestCaseStep extends familyGeneralElement
|
|
2478
2597
|
{
|
|
2479
2598
|
test_case_step_id;
|
|
2480
2599
|
test_case_step_type;
|
|
@@ -2487,14 +2606,15 @@ class typeTestCaseStep extends familyGeneralElement
|
|
|
2487
2606
|
available_enum_values = {
|
|
2488
2607
|
test_case_step_type: [ 'TEST_CASE_STEP', 'TEST_CASE_PRESTEP' ],
|
|
2489
2608
|
};
|
|
2490
|
-
}
|
|
2609
|
+
}
|
|
2610
|
+
|
|
2491
2611
|
|
|
2492
2612
|
/**
|
|
2493
2613
|
* Нужен ли этот тип?
|
|
2494
2614
|
*
|
|
2495
2615
|
* @version v.0.1 (26/05/2024)
|
|
2496
2616
|
*/
|
|
2497
|
-
class typeTestPlan extends familyGeneralElement
|
|
2617
|
+
export class typeTestPlan extends familyGeneralElement
|
|
2498
2618
|
{
|
|
2499
2619
|
|
|
2500
2620
|
|
|
@@ -2519,7 +2639,8 @@ class typeTestPlan extends familyGeneralElement
|
|
|
2519
2639
|
|
|
2520
2640
|
return this;
|
|
2521
2641
|
}
|
|
2522
|
-
}
|
|
2642
|
+
}
|
|
2643
|
+
|
|
2523
2644
|
/**
|
|
2524
2645
|
* Коллекция тестов для работы, она же parent для typeTestRunResult
|
|
2525
2646
|
*
|
|
@@ -2527,7 +2648,7 @@ class typeTestPlan extends familyGeneralElement
|
|
|
2527
2648
|
*
|
|
2528
2649
|
* @version v.0.2 (21/01/2025)
|
|
2529
2650
|
*/
|
|
2530
|
-
class typeTestRun extends familyGeneralElement
|
|
2651
|
+
export class typeTestRun extends familyGeneralElement
|
|
2531
2652
|
{
|
|
2532
2653
|
test_run_id;
|
|
2533
2654
|
test_run_name;
|
|
@@ -2572,7 +2693,8 @@ class typeTestRun extends familyGeneralElement
|
|
|
2572
2693
|
|
|
2573
2694
|
return this;
|
|
2574
2695
|
}
|
|
2575
|
-
}
|
|
2696
|
+
}
|
|
2697
|
+
|
|
2576
2698
|
/**
|
|
2577
2699
|
* 1 результат по каждому тест кейсу
|
|
2578
2700
|
*
|
|
@@ -2580,7 +2702,7 @@ class typeTestRun extends familyGeneralElement
|
|
|
2580
2702
|
*
|
|
2581
2703
|
* @version v.0.4 (10/12/2024)
|
|
2582
2704
|
*/
|
|
2583
|
-
class typeTestRunResult extends familyGeneralElement
|
|
2705
|
+
export class typeTestRunResult extends familyGeneralElement
|
|
2584
2706
|
{
|
|
2585
2707
|
test_run_result_id;
|
|
2586
2708
|
test_case_id;
|
|
@@ -2641,13 +2763,14 @@ class typeTestRunResult extends familyGeneralElement
|
|
|
2641
2763
|
|
|
2642
2764
|
return this;
|
|
2643
2765
|
}
|
|
2644
|
-
}
|
|
2766
|
+
}
|
|
2767
|
+
|
|
2645
2768
|
/**
|
|
2646
2769
|
* Структурная коллекция тестов
|
|
2647
2770
|
*
|
|
2648
2771
|
* @version v.0.1 (23/06/2024)
|
|
2649
2772
|
*/
|
|
2650
|
-
class typeTestSuite extends familyGeneralElement
|
|
2773
|
+
export class typeTestSuite extends familyGeneralElement
|
|
2651
2774
|
{
|
|
2652
2775
|
test_suite_id;
|
|
2653
2776
|
project_id;
|
|
@@ -2724,12 +2847,13 @@ class typeTestSuite extends familyGeneralElement
|
|
|
2724
2847
|
}
|
|
2725
2848
|
|
|
2726
2849
|
|
|
2727
|
-
}
|
|
2850
|
+
}
|
|
2851
|
+
|
|
2728
2852
|
|
|
2729
2853
|
/**
|
|
2730
2854
|
* @version v.0.1 (23/06/2024)
|
|
2731
2855
|
*/
|
|
2732
|
-
class typeUser extends familyGeneralElement
|
|
2856
|
+
export class typeUser extends familyGeneralElement
|
|
2733
2857
|
{
|
|
2734
2858
|
user_id;
|
|
2735
2859
|
country;
|
|
@@ -2777,20 +2901,21 @@ class typeUser extends familyGeneralElement
|
|
|
2777
2901
|
|
|
2778
2902
|
return this;
|
|
2779
2903
|
}
|
|
2780
|
-
}
|
|
2904
|
+
}
|
|
2781
2905
|
/**
|
|
2782
2906
|
* базовый тип для всех служебных типов
|
|
2783
2907
|
* @version v.0.1 (26/05/2024)
|
|
2784
2908
|
*/
|
|
2785
|
-
class familyService
|
|
2909
|
+
export class familyService
|
|
2786
2910
|
{
|
|
2787
2911
|
//
|
|
2788
|
-
}
|
|
2912
|
+
}
|
|
2913
|
+
|
|
2789
2914
|
/**
|
|
2790
2915
|
*
|
|
2791
2916
|
* @version v.0.1 (26/01/2025)
|
|
2792
2917
|
*/
|
|
2793
|
-
class typeFOR extends familyService
|
|
2918
|
+
export class typeFOR extends familyService
|
|
2794
2919
|
{
|
|
2795
2920
|
filter;
|
|
2796
2921
|
object;
|
|
@@ -2819,13 +2944,14 @@ class typeFOR extends familyService
|
|
|
2819
2944
|
|
|
2820
2945
|
return this;
|
|
2821
2946
|
}
|
|
2822
|
-
}
|
|
2947
|
+
}
|
|
2948
|
+
|
|
2823
2949
|
/**
|
|
2824
2950
|
* Описание стандартного колбека типового для методов
|
|
2825
2951
|
*
|
|
2826
2952
|
* @version v.0.1 (26/05/2024)
|
|
2827
2953
|
*/
|
|
2828
|
-
class typeFunctionCallback extends familyService
|
|
2954
|
+
export class typeFunctionCallback extends familyService
|
|
2829
2955
|
{
|
|
2830
2956
|
before;
|
|
2831
2957
|
success;
|
|
@@ -2857,14 +2983,15 @@ class typeFunctionCallback extends familyService
|
|
|
2857
2983
|
|
|
2858
2984
|
return this;
|
|
2859
2985
|
}
|
|
2860
|
-
}
|
|
2986
|
+
}
|
|
2987
|
+
|
|
2861
2988
|
/**
|
|
2862
2989
|
* Уведомления
|
|
2863
2990
|
* Как будто это абстрактный интерфейс
|
|
2864
2991
|
* А внутри уже разные настроенные пользователем методы
|
|
2865
2992
|
*
|
|
2866
2993
|
*/
|
|
2867
|
-
class typeNotification extends familyService
|
|
2994
|
+
export class typeNotification extends familyService
|
|
2868
2995
|
{
|
|
2869
2996
|
|
|
2870
2997
|
// пока не понятно
|
|
@@ -2890,12 +3017,12 @@ class typeNotification extends familyService
|
|
|
2890
3017
|
|
|
2891
3018
|
return this;
|
|
2892
3019
|
}
|
|
2893
|
-
}
|
|
3020
|
+
}
|
|
2894
3021
|
/**
|
|
2895
3022
|
*
|
|
2896
3023
|
* @version v.0.1 (02/07/2024)
|
|
2897
3024
|
*/
|
|
2898
|
-
class abstractMockData
|
|
3025
|
+
export class abstractMockData
|
|
2899
3026
|
{
|
|
2900
3027
|
mock_data_type = 'correct';
|
|
2901
3028
|
|
|
@@ -2903,12 +3030,13 @@ class abstractMockData
|
|
|
2903
3030
|
{
|
|
2904
3031
|
this.mock_data_type = mock_data_type;
|
|
2905
3032
|
}
|
|
2906
|
-
}
|
|
3033
|
+
}
|
|
3034
|
+
|
|
2907
3035
|
|
|
2908
3036
|
/**
|
|
2909
3037
|
* @version v.0.1 (02/07/2024)
|
|
2910
3038
|
*/
|
|
2911
|
-
class MockDataTypeProject extends abstractMockData
|
|
3039
|
+
export class MockDataTypeProject extends abstractMockData
|
|
2912
3040
|
{
|
|
2913
3041
|
correct = [ {
|
|
2914
3042
|
project_id : 11,
|