mirror of
https://github.com/usebruno/bruno.git
synced 2024-11-22 07:53:34 +01:00
Fix/2377 Fix humanizeDate so that it always returns the date it is passed (#2378)
* Add tests for humanizeDate and relativeDate * Add fix to humanizeDate * Fix test description
This commit is contained in:
parent
a38d09a117
commit
6bd9d4c480
@ -149,7 +149,9 @@ export const relativeDate = (dateString) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const humanizeDate = (dateString) => {
|
export const humanizeDate = (dateString) => {
|
||||||
const date = new Date(dateString);
|
// See this discussion for why .split is necessary
|
||||||
|
// https://stackoverflow.com/questions/7556591/is-the-javascript-date-object-always-one-day-off
|
||||||
|
const date = new Date(dateString.split('-'));
|
||||||
return date.toLocaleDateString('en-US', {
|
return date.toLocaleDateString('en-US', {
|
||||||
year: 'numeric',
|
year: 'numeric',
|
||||||
month: 'long',
|
month: 'long',
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
const { describe, it, expect } = require('@jest/globals');
|
const { describe, it, expect } = require('@jest/globals');
|
||||||
|
|
||||||
import { normalizeFileName, startsWith } from './index';
|
import { normalizeFileName, startsWith, humanizeDate, relativeDate } from './index';
|
||||||
|
|
||||||
describe('common utils', () => {
|
describe('common utils', () => {
|
||||||
describe('normalizeFileName', () => {
|
describe('normalizeFileName', () => {
|
||||||
@ -49,4 +49,50 @@ describe('common utils', () => {
|
|||||||
expect(startsWith('foo', 'foo')).toBe(true);
|
expect(startsWith('foo', 'foo')).toBe(true);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('humanizeDate', () => {
|
||||||
|
it('should return a date string in the en-US locale', () => {
|
||||||
|
expect(humanizeDate('2024-03-17')).toBe('March 17, 2024');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return invalid date if the date is invalid', () => {
|
||||||
|
expect(humanizeDate('9999-99-99')).toBe('Invalid Date');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('relativeDate', () => {
|
||||||
|
it('should return few seconds ago', () => {
|
||||||
|
expect(relativeDate(new Date())).toBe('Few seconds ago');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return minutes ago', () => {
|
||||||
|
let date = new Date();
|
||||||
|
date.setMinutes(date.getMinutes() - 30);
|
||||||
|
expect(relativeDate(date)).toBe('30 minutes ago');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return hours ago', () => {
|
||||||
|
let date = new Date();
|
||||||
|
date.setHours(date.getHours() - 10);
|
||||||
|
expect(relativeDate(date)).toBe('10 hours ago');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return days ago', () => {
|
||||||
|
let date = new Date();
|
||||||
|
date.setDate(date.getDate() - 5);
|
||||||
|
expect(relativeDate(date)).toBe('5 days ago');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return weeks ago', () => {
|
||||||
|
let date = new Date();
|
||||||
|
date.setDate(date.getDate() - 8);
|
||||||
|
expect(relativeDate(date)).toBe('1 week ago');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return months ago', () => {
|
||||||
|
let date = new Date();
|
||||||
|
date.setDate(date.getDate() - 60);
|
||||||
|
expect(relativeDate(date)).toBe('2 months ago');
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user