74 lines
1.8 KiB
TypeScript
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');
|
|
});
|