date.test.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { describe, expect, it } from 'vitest';
  2. import { formatDate, formatDateTime } from './date';
  3. describe('formatDate', () => {
  4. it('should return "2023-01-01" when passed new Date("2023-01-01T00:00:00.000Z")', () => {
  5. const date = new Date('2023-01-01T00:00:00.000Z');
  6. const actual = formatDate(date);
  7. expect(actual).toBe('2023-01-01');
  8. });
  9. it('should return "2023-01-01" when passed new Date("2023-01-01T00:00:00")', () => {
  10. const date = new Date('2023-01-01T00:00:00.000Z');
  11. const actual = formatDate(date, 'YYYY-MM-DD');
  12. expect(actual).toBe('2023-01-01');
  13. });
  14. it('should throw an error when passed an invalid date', () => {
  15. const date = '2018-10-10-10-10-10';
  16. expect(formatDate(date)).toBe('Invalid Date');
  17. });
  18. });
  19. describe('formatDateTime', () => {
  20. it('should return "2023-01-01" when passed new Date("2023-01-01T00:00:00.000Z")', () => {
  21. const date = new Date('2023-01-01T00:00:00.000Z');
  22. const actual = formatDateTime(date);
  23. expect(actual).toBe('2023-01-01 08:00:00');
  24. });
  25. it('should throw an error when passed an invalid date', () => {
  26. const date = '2018-10-10-10-10-10';
  27. expect(formatDateTime(date)).toBe('Invalid Date');
  28. });
  29. });