@@ -20,20 +20,66 @@ import {
20
20
} from "../../../src/types/jobs/CronExpression.type" ;
21
21
22
22
describe ( "CRON Expressions" , ( ) => {
23
+
24
+ it ( "Seconds and minutes regexes are good" , ( ) => {
25
+ expect ( CronExpression . SecondsAndMinutesRegexText . test ( "*" ) ) . toBe ( true ) ;
26
+ expect ( CronExpression . SecondsAndMinutesRegexText . test ( "1" ) ) . toBe ( true ) ;
27
+ expect ( CronExpression . SecondsAndMinutesRegexText . test ( "0/5" ) ) . toBe ( true ) ;
28
+ expect ( CronExpression . SecondsAndMinutesRegexText . test ( "3-9" ) ) . toBe ( true ) ;
29
+ expect ( CronExpression . SecondsAndMinutesRegexText . test ( "2,6,10,14,18,22" ) ) . toBe ( true ) ;
30
+ } ) ;
31
+
32
+ it ( "Hours regex is good" , ( ) => {
33
+ expect ( CronExpression . HoursRegexText . test ( "*" ) ) . toBe ( true ) ;
34
+ expect ( CronExpression . HoursRegexText . test ( "1" ) ) . toBe ( true ) ;
35
+ expect ( CronExpression . HoursRegexText . test ( "0/5" ) ) . toBe ( true ) ;
36
+ expect ( CronExpression . HoursRegexText . test ( "3-9" ) ) . toBe ( true ) ;
37
+ expect ( CronExpression . HoursRegexText . test ( "2,6,10,14,18,22" ) ) . toBe ( true ) ;
38
+ } ) ;
39
+
40
+ it ( "Day of month regex is good" , ( ) => {
41
+ expect ( CronExpression . DayOfMonthRegexText . test ( "*" ) ) . toBe ( true ) ;
42
+ expect ( CronExpression . DayOfMonthRegexText . test ( "1" ) ) . toBe ( true ) ;
43
+ expect ( CronExpression . DayOfMonthRegexText . test ( "0/5" ) ) . toBe ( true ) ;
44
+ expect ( CronExpression . DayOfMonthRegexText . test ( "3-9" ) ) . toBe ( true ) ;
45
+ expect ( CronExpression . DayOfMonthRegexText . test ( "2,6,10,14,18,22" ) ) . toBe ( true ) ;
46
+ } ) ;
47
+
48
+ it ( "Month regex is good" , ( ) => {
49
+ expect ( CronExpression . MonthRegexText . test ( "*" ) ) . toBe ( true ) ;
50
+ expect ( CronExpression . MonthRegexText . test ( "1" ) ) . toBe ( true ) ;
51
+ expect ( CronExpression . MonthRegexText . test ( "0/5" ) ) . toBe ( true ) ;
52
+ expect ( CronExpression . MonthRegexText . test ( "3-9" ) ) . toBe ( true ) ;
53
+ expect ( CronExpression . MonthRegexText . test ( "3-9" ) ) . toBe ( true ) ;
54
+ expect ( CronExpression . MonthRegexText . test ( "2,6,10" ) ) . toBe ( true ) ;
55
+ } ) ;
56
+
57
+ it ( "Day of week regex is good" , ( ) => {
58
+ expect ( CronExpression . DayOfWeekRegexText . test ( "*" ) ) . toBe ( true ) ;
59
+ expect ( CronExpression . DayOfWeekRegexText . test ( "1" ) ) . toBe ( true ) ;
60
+ expect ( CronExpression . DayOfWeekRegexText . test ( "0/5" ) ) . toBe ( true ) ;
61
+ expect ( CronExpression . DayOfWeekRegexText . test ( "3-7" ) ) . toBe ( true ) ;
62
+ expect ( CronExpression . DayOfWeekRegexText . test ( "2,6,3" ) ) . toBe ( true ) ;
63
+ } ) ;
64
+
65
+ it ( "Every second string is valid" , ( ) => {
66
+ expect ( CronExpression . isCronExpression ( "* * * * * *" ) ) . toBe ( true ) ;
67
+ } ) ;
68
+
23
69
it ( "Every minute string is valid" , ( ) => {
24
- expect ( CronExpression . isCronExpression ( "* * * * *" ) ) . toBe ( true ) ;
70
+ expect ( CronExpression . isCronExpression ( "0 * * * * *" ) ) . toBe ( true ) ;
25
71
} ) ;
26
72
27
73
it ( "Every hour string is valid" , ( ) => {
28
- expect ( CronExpression . isCronExpression ( "0 * * * *" ) ) . toBe ( true ) ;
74
+ expect ( CronExpression . isCronExpression ( "0 0 * * * *" ) ) . toBe ( true ) ;
29
75
} ) ;
30
76
31
77
it ( "Every third hour on Mondays string is valid" , ( ) => {
32
- expect ( CronExpression . isCronExpression ( "0 */3 * * 1" ) ) . toBe ( true ) ;
78
+ expect ( CronExpression . isCronExpression ( "0 0 */3 * * 1" ) ) . toBe ( true ) ;
33
79
} ) ;
34
80
35
81
it ( "A fairly complicated string is valid" , ( ) => {
36
- expect ( CronExpression . isCronExpression ( "0 /5 2,6,10,14,18,22 8-14 * 1" ) ) . toBe ( true ) ;
82
+ expect ( CronExpression . isCronExpression ( "* /5 2,6,10 8-14 * 1 * " ) ) . toBe ( true ) ;
37
83
} ) ;
38
84
39
85
it ( "On second results in matching cron string" , ( ) => {
@@ -94,9 +140,9 @@ describe("CRON Expressions", () => {
94
140
} ) ;
95
141
96
142
it ( "Through hours should create a valid cron string" , ( ) => {
97
- const cronExpression = CronExpressionBuilder . through ( CronPeriod . Hour , 13 , 42 ) . toString ( ) ;
143
+ const cronExpression = CronExpressionBuilder . through ( CronPeriod . Hour , 13 , 15 ) . toString ( ) ;
98
144
99
- expect ( cronExpression ) . toEqual ( "* * 13-42 * * *" ) ;
145
+ expect ( cronExpression ) . toEqual ( "* * 13-15 * * *" ) ;
100
146
} ) ;
101
147
102
148
it ( "Through days of the month should create a valid cron string" , ( ) => {
@@ -138,7 +184,7 @@ describe("CRON Expressions", () => {
138
184
} ) ;
139
185
140
186
it ( "Bad through hours order should fail" , ( ) => {
141
- const cronExpressionThrow = ( ) => CronExpressionBuilder . through ( CronPeriod . Hour , 59 , 14 ) . toString ( ) ;
187
+ const cronExpressionThrow = ( ) => CronExpressionBuilder . through ( CronPeriod . Hour , 23 , 14 ) . toString ( ) ;
142
188
143
189
expect ( cronExpressionThrow ) . toThrow ( ) ;
144
190
} ) ;
0 commit comments