mirror of
https://github.com/apache/superset.git
synced 2026-04-09 19:35:21 +00:00
* [formats] add better defaults for time + number formatting * [formatDate] add tests for concise formatDate * [nvd3] use verbose time format in tooltips * [number format] improve number format description * [formats] revert to .3s defaults, tweak number format preview * [formats] default number vis to .3s
115 lines
2.7 KiB
JavaScript
115 lines
2.7 KiB
JavaScript
import { it, describe } from 'mocha';
|
|
import { expect } from 'chai';
|
|
import {
|
|
tickMultiFormat,
|
|
formatDate,
|
|
formatDateVerbose,
|
|
fDuration,
|
|
now,
|
|
epochTimeXHoursAgo,
|
|
epochTimeXDaysAgo,
|
|
epochTimeXYearsAgo,
|
|
} from '../../../src/modules/dates';
|
|
|
|
describe('tickMultiFormat', () => {
|
|
it('is a function', () => {
|
|
assert.isFunction(tickMultiFormat);
|
|
});
|
|
});
|
|
|
|
describe('formatDate', () => {
|
|
it('is a function', () => {
|
|
assert.isFunction(formatDate);
|
|
});
|
|
|
|
it('shows only year when 1st day of the year', () => {
|
|
expect(formatDate(new Date('2020-01-01'))).to.equal('2020');
|
|
});
|
|
|
|
it('shows only month when 1st of month', () => {
|
|
expect(formatDate(new Date('2020-03-01'))).to.equal('March');
|
|
});
|
|
|
|
it('does not show day of week when it is Sunday', () => {
|
|
expect(formatDate(new Date('2020-03-15'))).to.equal('Mar 15');
|
|
});
|
|
|
|
it('shows weekday when it is not Sunday (and no ms/sec/min/hr)', () => {
|
|
expect(formatDate(new Date('2020-03-03'))).to.equal('Tue 03');
|
|
});
|
|
});
|
|
|
|
describe('formatDateVerbose', () => {
|
|
it('is a function', () => {
|
|
assert.isFunction(formatDateVerbose);
|
|
});
|
|
|
|
it('shows only year when 1st day of the year', () => {
|
|
expect(formatDateVerbose(new Date('2020-01-01'))).to.equal('2020');
|
|
});
|
|
|
|
it('shows month and year when 1st of month', () => {
|
|
expect(formatDateVerbose(new Date('2020-03-01'))).to.equal('Mar 2020');
|
|
});
|
|
|
|
it('shows weekday when any day of the month', () => {
|
|
expect(formatDateVerbose(new Date('2020-03-03'))).to.equal('Tue Mar 3');
|
|
expect(formatDateVerbose(new Date('2020-03-15'))).to.equal('Sun Mar 15');
|
|
});
|
|
});
|
|
|
|
describe('fDuration', () => {
|
|
it('is a function', () => {
|
|
assert.isFunction(fDuration);
|
|
});
|
|
|
|
it('returns a string', () => {
|
|
expect(fDuration(new Date(), new Date())).to.be.a('string');
|
|
});
|
|
|
|
it('returns the expected output', () => {
|
|
const output = fDuration('1496293608897', '1496293623406');
|
|
expect(output).to.equal('00:00:14.50');
|
|
});
|
|
});
|
|
|
|
describe('now', () => {
|
|
it('is a function', () => {
|
|
assert.isFunction(now);
|
|
});
|
|
|
|
it('returns a number', () => {
|
|
expect(now()).to.be.a('number');
|
|
});
|
|
});
|
|
|
|
describe('epochTimeXHoursAgo', () => {
|
|
it('is a function', () => {
|
|
assert.isFunction(epochTimeXHoursAgo);
|
|
});
|
|
|
|
it('returns a number', () => {
|
|
expect(epochTimeXHoursAgo(1)).to.be.a('number');
|
|
});
|
|
});
|
|
|
|
describe('epochTimeXDaysAgo', () => {
|
|
it('is a function', () => {
|
|
assert.isFunction(epochTimeXDaysAgo);
|
|
});
|
|
|
|
it('returns a number', () => {
|
|
expect(epochTimeXDaysAgo(1)).to.be.a('number');
|
|
});
|
|
});
|
|
|
|
describe('epochTimeXYearsAgo', () => {
|
|
it('is a function', () => {
|
|
assert.isFunction(epochTimeXYearsAgo);
|
|
});
|
|
|
|
it('returns a number', () => {
|
|
expect(epochTimeXYearsAgo(1)).to.be.a('number');
|
|
});
|
|
});
|