test.ts (view raw)
1import { assertEquals } from "https://deno.land/std@0.152.0/testing/asserts.ts";
2import {
3 getStartOfDay,
4 getStartOfWeek,
5 getStartOfMonth,
6 isSameDate,
7} from "./date.ts";
8
9const date = new Date("2022-08-13");
10
11Deno.test("getSartOfDay", () => {
12 const startOfDay: Date = getStartOfDay(date);
13 assertEquals(startOfDay.getHours(), 0);
14 assertEquals(startOfDay.getMinutes(), 0);
15 assertEquals(startOfDay.getMilliseconds(), 0);
16});
17
18Deno.test("getStartOfWeek returns start of week", () => {
19 const startOfWeek = getStartOfWeek(date);
20 assertEquals(startOfWeek.getDate(), 8);
21 assertEquals(startOfWeek.getMonth(), 7); // 7 = August
22 assertEquals(startOfWeek.getHours(), 0);
23 assertEquals(startOfWeek.getMinutes(), 0);
24 assertEquals(startOfWeek.getMilliseconds(), 0);
25});
26
27Deno.test("getStartOfMonth returns start of month", () => {
28 const startOfMonth = getStartOfMonth(date);
29 assertEquals(startOfMonth.getDate(), 1);
30 assertEquals(startOfMonth.getMonth(), 7); // 7 = August
31 assertEquals(startOfMonth.getHours(), 0);
32 assertEquals(startOfMonth.getMinutes(), 0);
33 assertEquals(startOfMonth.getMilliseconds(), 0);
34});
35
36Deno.test("isSameDate returns true for same dates but different hours", () => {
37 const dateB = new Date(new Date("2022-08-13").setHours(23, 10, 33));
38 const comparaison = isSameDate(date, dateB);
39 assertEquals(comparaison, true);
40});
41
42Deno.test("isSameDate returns false for different dates", () => {
43 const dateB = new Date("2022-08-02");
44 const comparaison = isSameDate(date, dateB);
45 assertEquals(comparaison, false);
46});