@@ -21,11 +21,11 @@ use warnings;
21
21
# core modules
22
22
23
23
# CPAN modules
24
+ use Test2::V0;
24
25
25
26
# OTOBO modules
26
- use Kernel::System::UnitTest::RegisterDriver; # Set up $Self and $Kernel::OM
27
-
28
- our $Self ;
27
+ use Kernel::System::UnitTest::RegisterDriver; # Set up $Kernel::OM
28
+ use Kernel::System::UnitTest::MockTime qw( :all) ;
29
29
30
30
# get helper object
31
31
$Kernel::OM -> ObjectParamAdd(
@@ -72,7 +72,8 @@ my %FAQAddTemplate = (
72
72
);
73
73
74
74
# freeze time
75
- $Helper -> FixedTimeSet();
75
+ FixedTimeSet(); # t=0m
76
+ FixedTimeAddSeconds(10*60);
76
77
77
78
# get FAQ object
78
79
my $FAQObject = $Kernel::OM -> Get(' Kernel::System::FAQ' );
@@ -83,17 +84,12 @@ for my $Counter ( 1 .. 2 ) {
83
84
UserID => $AddedUsers [ $Counter - 1 ],
84
85
);
85
86
86
- $Self -> IsNot(
87
- undef ,
88
- $ItemID ,
89
- " FAQAdd() ItemID:'$ItemID ' for FAQSearch()" ,
90
- );
91
-
87
+ ok( defined $ItemID , " FAQAdd() $Counter ItemID:'$ItemID ' for FAQSearch()" ,);
92
88
push @AddedFAQs , $ItemID ;
93
89
94
90
# add 1 minute to frozen time
95
- $Helper -> FixedTimeAddSeconds(60);
96
- }
91
+ FixedTimeAddSeconds(60);
92
+ } # t=2m
97
93
98
94
# add some votes
99
95
my @VotesToAdd = (
@@ -142,23 +138,20 @@ my @VotesToAdd = (
142
138
for my $Vote (@VotesToAdd ) {
143
139
my $Success = $FAQObject -> VoteAdd( %{$Vote } );
144
140
145
- $Self -> True(
146
- $Success ,
147
- " VoteAdd(): ItemID:'$Vote ->{ItemID}' IP:'$Vote ->{IP}' Rate:'$Vote ->{Rate}' with true" ,
148
- );
141
+ ok( $Success , " VoteAdd(): ItemID:'$Vote ->{ItemID}' IP:'$Vote ->{IP}' Rate:'$Vote ->{Rate}' with true" );
149
142
}
150
143
151
144
# do vote search tests
152
145
my %SearchConfigTemplate = (
153
- Keyword => " $RandomID " ,
146
+ Keyword => $RandomID ,
154
147
States => [ ' public' , ' internal' ],
155
148
OrderBy => [' FAQID' ],
156
149
OrderByDirection => [' Up' ],
157
150
Limit => 150,
158
151
UserID => 1,
159
152
160
153
);
161
- my @Tests = (
154
+ my @VotesTests = (
162
155
163
156
# votes tests
164
157
{
@@ -490,18 +483,14 @@ my @Tests = (
490
483
);
491
484
492
485
# execute the tests
493
- for my $Test (@Tests ) {
486
+ for my $Test (@VotesTests ) {
494
487
my @ItemIDs = $FAQObject -> FAQSearch( %{ $Test -> {Config } } );
495
488
496
- $Self -> IsDeeply(
497
- \@ItemIDs ,
498
- $Test -> {ExpectedResults },
499
- " $Test ->{Name} FAQSearch()" ,
500
- );
489
+ is( \@ItemIDs , $Test -> {ExpectedResults }, " $Test ->{Name} FAQSearch()" );
501
490
}
502
491
503
492
# other tests
504
- @Tests = (
493
+ my @OtherTests = (
505
494
{
506
495
Name => ' States Hash Correct IDs' ,
507
496
Config => {
@@ -542,14 +531,10 @@ for my $Test (@Tests) {
542
531
);
543
532
544
533
# execute the tests
545
- for my $Test (@Tests ) {
534
+ for my $Test (@OtherTests ) {
546
535
my @ItemIDs = $FAQObject -> FAQSearch( %{ $Test -> {Config } } );
547
536
548
- $Self -> IsDeeply(
549
- \@ItemIDs ,
550
- $Test -> {ExpectedResults },
551
- " $Test ->{Name} FAQSearch()" ,
552
- );
537
+ is( \@ItemIDs , $Test -> {ExpectedResults }, " $Test ->{Name} FAQSearch()" );
553
538
}
554
539
555
540
# time based tests
@@ -568,34 +553,28 @@ my %FAQUpdateTemplate = (
568
553
);
569
554
570
555
# add 1 minute to frozen time
571
- $Helper -> FixedTimeAddSeconds(60);
556
+ FixedTimeAddSeconds(60); # t=3m
572
557
573
558
my $Success = $FAQObject -> FAQUpdate(
574
559
%FAQUpdateTemplate ,
575
560
ItemID => $AddedFAQs [0],
576
561
UserID => $AddedUsers [2],
577
562
);
578
563
579
- $Self -> True(
580
- $Success ,
581
- " FAQUpdate() ItemID:'$AddedFAQs [0]' for FAQSearch()" ,
582
- );
564
+ ok( $Success , " FAQUpdate() ItemID:'$AddedFAQs [0]' for FAQSearch()" );
583
565
584
- $Helper -> FixedTimeAddSeconds(60);
566
+ FixedTimeAddSeconds(60); # t=4m
585
567
586
568
$Success = $FAQObject -> FAQUpdate(
587
569
%FAQUpdateTemplate ,
588
570
ItemID => $AddedFAQs [1],
589
571
UserID => $AddedUsers [3],
590
572
);
591
573
592
- $Self -> True(
593
- $Success ,
594
- " FAQUpdate() ItemID:'$AddedFAQs [1]' for FAQSearch()" ,
595
- );
574
+ ok( $Success , " FAQUpdate() ItemID:'$AddedFAQs [1]' for FAQSearch()" );
596
575
597
576
# add 2 minutes to frozen time
598
- $Helper -> FixedTimeAddSeconds(120);
577
+ FixedTimeAddSeconds(120); # t=6m
599
578
600
579
my $DateTime = $Kernel::OM -> Create(' Kernel::System::DateTime' );
601
580
@@ -611,7 +590,8 @@ my $DateMinus5Mins = $DateTime->ToString();
611
590
$DateTime -> Subtract( Seconds => 60 );
612
591
my $DateMinus6Mins = $DateTime -> ToString();
613
592
614
- @Tests = (
593
+ # Two FAQs were added. One 6 minutes ago, the other 5 minutes ago
594
+ my @TimeBasedTests = (
615
595
{
616
596
Name => ' CreateTimeOlderMinutes 3 min' ,
617
597
Config => {
@@ -728,19 +708,14 @@ my $DateMinus6Mins = $DateTime->ToString();
728
708
);
729
709
730
710
# execute the tests
731
- for my $Test (@Tests ) {
732
-
711
+ for my $Test (@TimeBasedTests ) {
733
712
my @ItemIDs = $FAQObject -> FAQSearch( %{ $Test -> {Config } } );
734
713
735
- $Self -> IsDeeply(
736
- \@ItemIDs ,
737
- $Test -> {ExpectedResults },
738
- " $Test ->{Name} FAQSearch()" ,
739
- );
714
+ is( \@ItemIDs , $Test -> {ExpectedResults }, " $Test ->{Name} FAQSearch()" );
740
715
}
741
716
742
717
# created user tests
743
- @Tests = (
718
+ my @CreatedUserTests = (
744
719
{
745
720
Name => ' CreatedUserIDs 1' ,
746
721
Config => {
@@ -786,7 +761,7 @@ for my $Test (@Tests) {
786
761
);
787
762
788
763
# last changed user tests
789
- @Tests = (
764
+ my @LastChangedUserTests = (
790
765
{
791
766
Name => ' LastChangedUserIDs 3' ,
792
767
Config => {
@@ -829,15 +804,10 @@ for my $Test (@Tests) {
829
804
);
830
805
831
806
# execute the tests
832
- for my $Test (@Tests ) {
833
-
807
+ for my $Test (@LastChangedUserTests ) {
834
808
my @ItemIDs = $FAQObject -> FAQSearch( %{ $Test -> {Config } } );
835
809
836
- $Self -> IsDeeply(
837
- \@ItemIDs ,
838
- $Test -> {ExpectedResults },
839
- " $Test ->{Name} FAQSearch()" ,
840
- );
810
+ is( \@ItemIDs , $Test -> {ExpectedResults }, " $Test ->{Name} FAQSearch()" );
841
811
}
842
812
843
813
# approval tests
@@ -853,7 +823,7 @@ return if !$Kernel::OM->Get('Kernel::System::DB')->Do(
853
823
],
854
824
);
855
825
856
- @Tests = (
826
+ my @ApprovalTests = (
857
827
{
858
828
Name => ' Approved 1' ,
859
829
Config => {
@@ -877,22 +847,14 @@ return if !$Kernel::OM->Get('Kernel::System::DB')->Do(
877
847
);
878
848
879
849
# execute the tests
880
- for my $Test (@Tests ) {
881
-
850
+ for my $Test (@ApprovalTests ) {
882
851
my @ItemIDs = $FAQObject -> FAQSearch( %{ $Test -> {Config } } );
883
852
884
- $Self -> IsDeeply(
885
- \@ItemIDs ,
886
- $Test -> {ExpectedResults },
887
- " $Test ->{Name} FAQSearch()" ,
888
- );
853
+ is( \@ItemIDs , $Test -> {ExpectedResults }, " $Test ->{Name} FAQSearch()" );
889
854
}
890
855
891
856
# execute old tests
892
- $Self -> True(
893
- 1,
894
- " --Execute Former Tests--" ,
895
- );
857
+ diag( " Execute Former Tests" );
896
858
{
897
859
my $ItemID1 = $FAQObject -> FAQAdd(
898
860
CategoryID => 1,
@@ -906,13 +868,10 @@ $Self->True(
906
868
UserID => 1,
907
869
ContentType => ' text/html' ,
908
870
);
909
- $Self -> True(
910
- $ItemID1 ,
911
- " FAQAdd() - 1" ,
912
- );
871
+ ok( $ItemID1 , " FAQAdd() - 1" );
913
872
914
873
# add 1 minute to frozen time
915
- $Helper -> FixedTimeAddSeconds(60);
874
+ FixedTimeAddSeconds(60); # t=7m
916
875
917
876
my $ItemID2 = $FAQObject -> FAQAdd(
918
877
Title => ' Title' . $RandomID ,
@@ -925,13 +884,10 @@ $Self->True(
925
884
UserID => 1,
926
885
ContentType => ' text/html' ,
927
886
);
928
- $Self -> True(
929
- $ItemID2 ,
930
- " FAQAdd() - 2" ,
931
- );
887
+ ok( $ItemID2 , " FAQAdd() - 2" );
932
888
933
889
# add 1 minute to frozen time
934
- $Helper -> FixedTimeAddSeconds(60);
890
+ FixedTimeAddSeconds(60);# t=8m
935
891
936
892
my %Keywords = (
937
893
Keyword1 => " some1$RandomID " ,
@@ -950,13 +906,10 @@ $Self->True(
950
906
UserID => 1,
951
907
ContentType => ' text/html' ,
952
908
);
953
- $Self -> True(
954
- $ItemID3 ,
955
- " FAQAdd() - 3" ,
956
- );
909
+ ok( $ItemID3 , " FAQAdd() - 3" );
957
910
958
911
# add 1 minute to frozen time
959
- $Helper -> FixedTimeAddSeconds(60);
912
+ FixedTimeAddSeconds(60); # t=9m
960
913
961
914
my $ItemID4 = $FAQObject -> FAQAdd(
962
915
Title => ' Test FAQ-4' ,
@@ -969,13 +922,10 @@ $Self->True(
969
922
ContentType => ' text/html' ,
970
923
);
971
924
972
- $Self -> True(
973
- $ItemID4 ,
974
- " FAQAdd() - 4" ,
975
- );
925
+ ok( $ItemID4 , " FAQAdd() - 4" );
976
926
977
927
# add 1 minute to frozen time
978
- $Helper -> FixedTimeAddSeconds(60);
928
+ FixedTimeAddSeconds(60); # t=10m
979
929
980
930
my $ItemID5 = $FAQObject -> FAQAdd(
981
931
Title => ' Test FAQ-5' ,
@@ -988,15 +938,12 @@ $Self->True(
988
938
ContentType => ' text/html' ,
989
939
);
990
940
991
- $Self -> True(
992
- $ItemID5 ,
993
- " FAQAdd() - 4" ,
994
- );
941
+ ok( $ItemID5 , " FAQAdd() - 4" );
995
942
996
943
# restore time
997
- $Helper -> FixedTimeUnset();
944
+ FixedTimeUnset();
998
945
999
- @Tests = (
946
+ my @Tests = (
1000
947
{
1001
948
Name => ' Keywords' ,
1002
949
Config => {
@@ -1172,7 +1119,6 @@ $Self->True(
1172
1119
);
1173
1120
1174
1121
for my $Test (@Tests ) {
1175
-
1176
1122
my @ItemIDs = $FAQObject -> FAQSearch(
1177
1123
Number => ' *' ,
1178
1124
States => [ ' public' , ' internal' ],
@@ -1182,12 +1128,8 @@ $Self->True(
1182
1128
%{ $Test -> {Config } },
1183
1129
);
1184
1130
1185
- $Self -> IsDeeply(
1186
- \@ItemIDs ,
1187
- $Test -> {ExpectedResults },
1188
- " $Test ->{Name}, FAQSearch()" ,
1189
- );
1131
+ is( \@ItemIDs , $Test -> {ExpectedResults }, " $Test ->{Name}, FAQSearch()" );
1190
1132
}
1191
1133
}
1192
1134
1193
- $Self -> DoneTesting ();
1135
+ done_testing ();
0 commit comments