Skip to content
Snippets Groups Projects
date.util.spec.ts 1.91 KiB
Newer Older
  • Learn to ignore specific revisions
  • OZGCloud's avatar
    OZGCloud committed
    import { registerLocaleData } from '@angular/common';
    import localeDe from '@angular/common/locales/de';
    
    OZGCloud's avatar
    OZGCloud committed
    import { format } from 'date-fns';
    import { de } from 'date-fns/locale';
    
    import { formatForDatabase, formatFullDate, formatFullDateWithTimeAndDay, formatFullDateWithTimeWithoutSeconds, formatToPrettyDate, formatWithoutYear } from './date.util';
    
    OZGCloud's avatar
    OZGCloud committed
    
    registerLocaleData(localeDe);
    
    describe('Date Util', () => {
    
    	const dateToFormat: Date = new Date('1010-01-01:01:01:01');
    
    
    	describe('formatForDatabase()', () => {
    		it('should return correct date string with Date object', () => {
    			const formattedDate: string = formatForDatabase(dateToFormat);
    
    			expect(formattedDate).toEqual('1010-01-01');
    		})
    
    	it('should return full date with hour and minutes', () => {
    
    OZGCloud's avatar
    OZGCloud committed
    		const formattedDate: string = formatFullDateWithTimeWithoutSeconds(dateToFormat);
    
    		expect(formattedDate).toEqual('01.01.10 01:01');
    	})
    
    
    	it('should return name of day, full date, hour, minute and seconds', () => {
    
    OZGCloud's avatar
    OZGCloud committed
    		const formattedDate: string = formatFullDateWithTimeAndDay(dateToFormat);
    
    		expect(formattedDate).toEqual('Montag, 01.01.1010, 01:01:01');
    	})
    
    
    	it('should return full date', () => {
    
    OZGCloud's avatar
    OZGCloud committed
    		const formattedDate: string = formatFullDate(dateToFormat);
    
    		expect(formattedDate).toEqual('01.01.1010');
    	})
    
    
    	it('should return day and name of month', () => {
    
    OZGCloud's avatar
    OZGCloud committed
    		const formattedDate: string = formatWithoutYear(dateToFormat);
    
    
    OZGCloud's avatar
    OZGCloud committed
    		expect(formattedDate).toEqual('01. Jan.');
    
    OZGCloud's avatar
    OZGCloud committed
    	})
    
    OZGCloud's avatar
    OZGCloud committed
    	describe('formatToPrettyDate()', () => {
    		it('should format date without year', () => {
    			const today: Date = new Date();
    
    OZGCloud's avatar
    OZGCloud committed
    			const day: string = format(today, 'dd');
    			const month: string = format(today, 'MMMM',  {locale: de});
    
    OZGCloud's avatar
    OZGCloud committed
    
    			const result: string = formatToPrettyDate(today);
    
    			expect(result).toEqual(`${day}. ${month}`);
    		})
    
    		it('should format date without year', () => {
    			const result: string = formatToPrettyDate(dateToFormat);
    
    			expect(result).toEqual('01.01.1010');
    		})
    	})
    
    
    OZGCloud's avatar
    OZGCloud committed
    })