summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
authorIgor Zinkovsky <igor@deno.com>2024-01-23 16:45:11 -0800
committerGitHub <noreply@github.com>2024-01-24 00:45:11 +0000
commit46b91eceb15c3941bf1f8f62b98026ad3fde3e9f (patch)
tree8458bb0a709925c73bb9c7aa212a7cb831e774ef /cli/tests
parent47620641e7455a0f9df82d17ad0405693e4427a4 (diff)
fix(ext/cron): automatically override unspecified values (#22042)
Fixes #22041
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/unit/cron_test.ts67
1 files changed, 67 insertions, 0 deletions
diff --git a/cli/tests/unit/cron_test.ts b/cli/tests/unit/cron_test.ts
index ed4500624..02573a898 100644
--- a/cli/tests/unit/cron_test.ts
+++ b/cli/tests/unit/cron_test.ts
@@ -391,3 +391,70 @@ Deno.test("error on two handlers", () => {
"Deno.cron requires a single handler",
);
});
+
+Deno.test("Parse test", () => {
+ assertEquals(
+ parseScheduleToString({
+ minute: 3,
+ }),
+ "3 * * * *",
+ );
+ assertEquals(
+ parseScheduleToString({
+ hour: { every: 2 },
+ }),
+ "0 */2 * * *",
+ );
+ assertEquals(
+ parseScheduleToString({
+ dayOfMonth: { every: 10 },
+ }),
+ "0 0 */10 * *",
+ );
+ assertEquals(
+ parseScheduleToString({
+ month: { every: 3 },
+ }),
+ "0 0 1 */3 *",
+ );
+ assertEquals(
+ parseScheduleToString({
+ dayOfWeek: { every: 2 },
+ }),
+ "0 0 * * */2",
+ );
+ assertEquals(
+ parseScheduleToString({
+ minute: 3,
+ hour: { every: 2 },
+ }),
+ "3 */2 * * *",
+ );
+ assertEquals(
+ parseScheduleToString({
+ dayOfMonth: { start: 1, end: 10 },
+ }),
+ "0 0 1-10 * *",
+ );
+ assertEquals(
+ parseScheduleToString({
+ minute: { every: 10 },
+ dayOfMonth: { every: 5 },
+ }),
+ "*/10 * */5 * *",
+ );
+ assertEquals(
+ parseScheduleToString({
+ hour: { every: 3 },
+ month: { every: 2 },
+ }),
+ "0 */3 * */2 *",
+ );
+ assertEquals(
+ parseScheduleToString({
+ minute: { every: 5 },
+ month: { every: 2 },
+ }),
+ "*/5 * * */2 *",
+ );
+});