gantt-task-react/test/date-helper.test.tsx
2020-07-22 20:50:43 +03:00

74 lines
1.8 KiB
TypeScript

import {
seedDates,
addToDate,
getWeekNumberISO8601,
} from '../src/helpers/date-helper';
import { ViewMode } from '../src/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');
});