From d3ace6d63fadd68bad2a7d24cb7a63acbc1746d9 Mon Sep 17 00:00:00 2001 From: Alanna Scott Date: Wed, 7 Jun 2017 22:27:21 -0700 Subject: [PATCH] [js-testing] type checking for dates.js (#2893) * tests for dates.js * linting * test fduration output * ignore warnings in code climate * use eslint-2 otherwise defaults to eslint-3 * test eslint 1 * remove channel rule * disable checks * checks for eslint engine --- .codeclimate.yml | 5 ++ superset/assets/javascripts/modules/dates.js | 1 - .../spec/javascripts/modules/dates_spec.js | 85 +++++++++++++++++++ 3 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 superset/assets/spec/javascripts/modules/dates_spec.js diff --git a/.codeclimate.yml b/.codeclimate.yml index 4fe69490ce..2da3213875 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -5,6 +5,11 @@ engines: enabled: false eslint: enabled: true + checks: + import/extensions: + enabled: false + import/no-extraneous-dependencies: + enabled: false config: config: superset/assets/.eslintrc pep8: diff --git a/superset/assets/javascripts/modules/dates.js b/superset/assets/javascripts/modules/dates.js index 81dd9177eb..449e1ba26c 100644 --- a/superset/assets/javascripts/modules/dates.js +++ b/superset/assets/javascripts/modules/dates.js @@ -105,4 +105,3 @@ export const epochTimeXYearsAgo = function (y) { .utc() .valueOf(); }; - diff --git a/superset/assets/spec/javascripts/modules/dates_spec.js b/superset/assets/spec/javascripts/modules/dates_spec.js new file mode 100644 index 0000000000..c16c7cb276 --- /dev/null +++ b/superset/assets/spec/javascripts/modules/dates_spec.js @@ -0,0 +1,85 @@ +import { it, describe } from 'mocha'; +import { expect } from 'chai'; +import { + tickMultiFormat, + formatDate, + timeFormatFactory, + fDuration, + now, + epochTimeXHoursAgo, + epochTimeXDaysAgo, + epochTimeXYearsAgo, + } from '../../../javascripts/modules/dates'; + +describe('tickMultiFormat', () => { + it('is a function', () => { + assert.isFunction(tickMultiFormat); + }); +}); + +describe('formatDate', () => { + it('is a function', () => { + assert.isFunction(formatDate); + }); +}); + +describe('timeFormatFactory', () => { + it('is a function', () => { + assert.isFunction(timeFormatFactory); + }); +}); + +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'); + }); +});