gantt-task-react/test/date-helper.test.tsx
2020-08-05 08:14:22 +03:00

74 lines
1.8 KiB
TypeScript

import {
seedDates,
addToDate,
getWeekNumberISO8601,
} from "../helpers/date-helper";
import { ViewMode } from "../types/public-types";
describe("seed date", () => {
test("daily", () => {
expect(
seedDates(new Date(2020, 5, 28), new Date(2020, 6, 2), ViewMode.Day)
).toEqual([
new Date(2020, 5, 28),
new Date(2020, 5, 29),
new Date(2020, 5, 30),
new Date(2020, 6, 1),
new Date(2020, 6, 2),
]);
});
test("weekly", () => {
expect(
seedDates(new Date(2020, 5, 28), new Date(2020, 6, 19), ViewMode.Week)
).toEqual([
new Date(2020, 5, 28),
new Date(2020, 6, 5),
new Date(2020, 6, 12),
new Date(2020, 6, 19),
]);
});
test("monthly", () => {
expect(
seedDates(new Date(2020, 5, 28), new Date(2020, 6, 19), ViewMode.Month)
).toEqual([new Date(2020, 5, 28), new Date(2020, 6, 28)]);
});
test("quarterly", () => {
expect(
seedDates(
new Date(2020, 5, 28),
new Date(2020, 5, 29),
ViewMode.QuarterDay
)
).toEqual([
new Date(2020, 5, 28, 0, 0),
new Date(2020, 5, 28, 6, 0),
new Date(2020, 5, 28, 12, 0),
new Date(2020, 5, 28, 18, 0),
new Date(2020, 5, 29, 0, 0),
]);
});
});
describe("add to date", () => {
test("add month", () => {
expect(addToDate(new Date(2020, 0, 1), 40, "month")).toEqual(
new Date(2023, 4, 1)
);
});
test("add day", () => {
expect(addToDate(new Date(2020, 0, 1), 40, "day")).toEqual(
new Date(2020, 1, 10)
);
});
});
test("get week number", () => {
expect(getWeekNumberISO8601(new Date(2019, 11, 31))).toEqual("01");
expect(getWeekNumberISO8601(new Date(2021, 0, 1))).toEqual("53");
expect(getWeekNumberISO8601(new Date(2020, 6, 20))).toEqual("30");
});