feat: Change the date format display in widget (#1528)

Co-authored-by: Pranav <pranav@chatwoot.com>
This commit is contained in:
Muhsin Keloth
2020-12-24 05:23:47 -08:00
committed by GitHub
parent 677f56f802
commit 3e61ea5cfa
7 changed files with 70 additions and 17 deletions

View File

@@ -1,7 +1,16 @@
import fromUnixTime from 'date-fns/fromUnixTime';
import format from 'date-fns/format';
import isToday from 'date-fns/isToday';
import isYesterday from 'date-fns/isYesterday';
export const formatUnixDate = (date, dateFormat = 'MMM dd, yyyy') => {
const unixDate = fromUnixTime(date);
return format(unixDate, dateFormat);
};
export const formatDate = ({ date, todayText, yesterdayText }) => {
const dateValue = new Date(date);
if (isToday(dateValue)) return todayText;
if (isYesterday(dateValue)) return yesterdayText;
return date;
};

View File

@@ -1,13 +0,0 @@
import DateSeparator from '../DateSeparator';
describe('#DateSeparator', () => {
it('should format correctly without dateFormat', () => {
expect(new DateSeparator(1576340626).format()).toEqual('Dec 14, 2019');
});
it('should format correctly without dateFormat', () => {
expect(new DateSeparator(1576340626).format('DD-MM-YYYY')).toEqual(
'14-12-2019'
);
});
});

View File

@@ -0,0 +1,42 @@
import { formatDate, formatUnixDate } from '../DateHelper';
describe('#DateHelper', () => {
it('should format unix date correctly without dateFormat', () => {
expect(formatUnixDate(1576340626)).toEqual('Dec 14, 2019');
});
it('should format unix date correctly without dateFormat', () => {
expect(formatUnixDate(1608214031, 'MM/dd/yyyy')).toEqual('12/17/2020');
});
it('should format date', () => {
expect(
formatDate({
date: 'Dec 14, 2019',
todayText: 'Today',
yesterdayText: 'Yesterday',
})
).toEqual('Dec 14, 2019');
});
it('should format date as today ', () => {
expect(
formatDate({
date: new Date(),
todayText: 'Today',
yesterdayText: 'Yesterday',
})
).toEqual('Today');
});
it('should format date as yesterday ', () => {
const today = new Date();
const yesterday = new Date(today);
yesterday.setDate(yesterday.getDate() - 1);
expect(
formatDate({
date: yesterday,
todayText: 'Today',
yesterdayText: 'Yesterday',
})
).toEqual('Yesterday');
});
});