From 54698404e33e1b02ca5d4937c4c4e1afbac560c5 Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Thu, 10 Nov 2016 13:49:22 -0800 Subject: [PATCH] More Dashboard UX unit tests --- .gitignore | 2 ++ .../javascripts/dashboard/Dashboard.jsx | 2 +- .../dashboard/components/Controls.jsx | 6 ------ .../javascripts/dashboard/CodeModal_spec.jsx | 21 +++++++++++++++++++ .../javascripts/dashboard/CssEditor_spec.jsx | 21 +++++++++++++++++++ .../dashboard/RefreshIntervalModal_spec.jsx | 21 +++++++++++++++++++ 6 files changed, 66 insertions(+), 7 deletions(-) create mode 100644 superset/assets/spec/javascripts/dashboard/CodeModal_spec.jsx create mode 100644 superset/assets/spec/javascripts/dashboard/CssEditor_spec.jsx create mode 100644 superset/assets/spec/javascripts/dashboard/RefreshIntervalModal_spec.jsx diff --git a/.gitignore b/.gitignore index aeaa49cddc17..8e796ee55297 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ *.pyc +yarn-error.log +_modules superset/assets/coverage/* changelog.sh .DS_Store diff --git a/superset/assets/javascripts/dashboard/Dashboard.jsx b/superset/assets/javascripts/dashboard/Dashboard.jsx index 6f9d6de56e19..cda9e1e44eb1 100644 --- a/superset/assets/javascripts/dashboard/Dashboard.jsx +++ b/superset/assets/javascripts/dashboard/Dashboard.jsx @@ -74,7 +74,7 @@ function initDashboardView(dashboard) { $('[data-toggle="tooltip"]').tooltip({ container: 'body' }); } -function dashboardContainer(dashboard) { +export function dashboardContainer(dashboard) { return Object.assign({}, dashboard, { type: 'dashboard', filters: {}, diff --git a/superset/assets/javascripts/dashboard/components/Controls.jsx b/superset/assets/javascripts/dashboard/components/Controls.jsx index 15afca9da77a..b4cf96616c30 100644 --- a/superset/assets/javascripts/dashboard/components/Controls.jsx +++ b/superset/assets/javascripts/dashboard/components/Controls.jsx @@ -10,14 +10,9 @@ import CodeModal from './CodeModal'; import SliceAdder from './SliceAdder'; const propTypes = { - table: React.PropTypes.object, dashboard: React.PropTypes.object.isRequired, }; -const defaultProps = { - actions: {}, -}; - class Controls extends React.PureComponent { constructor(props) { super(props); @@ -138,6 +133,5 @@ class Controls extends React.PureComponent { } } Controls.propTypes = propTypes; -Controls.defaultProps = defaultProps; export default Controls; diff --git a/superset/assets/spec/javascripts/dashboard/CodeModal_spec.jsx b/superset/assets/spec/javascripts/dashboard/CodeModal_spec.jsx new file mode 100644 index 000000000000..5a430bc3d544 --- /dev/null +++ b/superset/assets/spec/javascripts/dashboard/CodeModal_spec.jsx @@ -0,0 +1,21 @@ +import React from 'react'; +import CodeModal from '../../../javascripts/dashboard/components/CodeModal'; +import { mount } from 'enzyme'; +import { describe, it } from 'mocha'; +import { expect } from 'chai'; + + +describe('CodeModal', () => { + const mockedProps = { + triggerNode: , + }; + it('is valid', () => { + expect( + React.isValidElement() + ).to.equal(true); + }); + it('renders the trigger node', () => { + const wrapper = mount(); + expect(wrapper.find('.fa-edit')).to.have.length(1); + }); +}); diff --git a/superset/assets/spec/javascripts/dashboard/CssEditor_spec.jsx b/superset/assets/spec/javascripts/dashboard/CssEditor_spec.jsx new file mode 100644 index 000000000000..58cac9d868c0 --- /dev/null +++ b/superset/assets/spec/javascripts/dashboard/CssEditor_spec.jsx @@ -0,0 +1,21 @@ +import React from 'react'; +import CssEditor from '../../../javascripts/dashboard/components/CssEditor'; +import { mount } from 'enzyme'; +import { describe, it } from 'mocha'; +import { expect } from 'chai'; + + +describe('CssEditor', () => { + const mockedProps = { + triggerNode: , + }; + it('is valid', () => { + expect( + React.isValidElement() + ).to.equal(true); + }); + it('renders the trigger node', () => { + const wrapper = mount(); + expect(wrapper.find('.fa-edit')).to.have.length(1); + }); +}); diff --git a/superset/assets/spec/javascripts/dashboard/RefreshIntervalModal_spec.jsx b/superset/assets/spec/javascripts/dashboard/RefreshIntervalModal_spec.jsx new file mode 100644 index 000000000000..8cf89be8da75 --- /dev/null +++ b/superset/assets/spec/javascripts/dashboard/RefreshIntervalModal_spec.jsx @@ -0,0 +1,21 @@ +import React from 'react'; +import RefreshIntervalModal from '../../../javascripts/dashboard/components/RefreshIntervalModal'; +import { mount } from 'enzyme'; +import { describe, it } from 'mocha'; +import { expect } from 'chai'; + + +describe('RefreshIntervalModal', () => { + const mockedProps = { + triggerNode: , + }; + it('is valid', () => { + expect( + React.isValidElement() + ).to.equal(true); + }); + it('renders the trigger node', () => { + const wrapper = mount(); + expect(wrapper.find('.fa-edit')).to.have.length(1); + }); +});