From 39ea5c0e2e9bdf2c6e3bd0797e6fb422e6117aa2 Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Fri, 2 Jun 2017 00:27:15 +0900 Subject: Improve tests for JavaScript (#3496) - Upgrade dependencies - chai (3.5.0 -> 4.0.1) - chai-enzyme (0.6.1 -> 0.7.1) - sinon (2.2.0 -> 2.3.2) - Change extensions from .jsx to .js - Don't assign `React` to `global` - Check code format using ESLint --- spec/javascript/components/avatar.test.js | 20 +++++ spec/javascript/components/avatar.test.jsx | 20 ----- spec/javascript/components/button.test.js | 71 ++++++++++++++++ spec/javascript/components/button.test.jsx | 71 ---------------- spec/javascript/components/display_name.test.js | 27 ++++++ spec/javascript/components/display_name.test.jsx | 27 ------ spec/javascript/components/dropdown_menu.test.js | 97 ++++++++++++++++++++++ spec/javascript/components/dropdown_menu.test.jsx | 97 ---------------------- .../features/ui/components/column.test.js | 30 +++++++ .../features/ui/components/column.test.jsx | 30 ------- .../components/loading_indicator.test.js | 8 ++ .../components/loading_indicator.test.jsx | 8 -- spec/javascript/setup.js | 5 +- 13 files changed, 254 insertions(+), 257 deletions(-) create mode 100644 spec/javascript/components/avatar.test.js delete mode 100644 spec/javascript/components/avatar.test.jsx create mode 100644 spec/javascript/components/button.test.js delete mode 100644 spec/javascript/components/button.test.jsx create mode 100644 spec/javascript/components/display_name.test.js delete mode 100644 spec/javascript/components/display_name.test.jsx create mode 100644 spec/javascript/components/dropdown_menu.test.js delete mode 100644 spec/javascript/components/dropdown_menu.test.jsx create mode 100644 spec/javascript/components/features/ui/components/column.test.js delete mode 100644 spec/javascript/components/features/ui/components/column.test.jsx create mode 100644 spec/javascript/components/loading_indicator.test.js delete mode 100644 spec/javascript/components/loading_indicator.test.jsx (limited to 'spec/javascript') diff --git a/spec/javascript/components/avatar.test.js b/spec/javascript/components/avatar.test.js new file mode 100644 index 000000000..03b71dc9d --- /dev/null +++ b/spec/javascript/components/avatar.test.js @@ -0,0 +1,20 @@ +import { expect } from 'chai'; +import { render } from 'enzyme'; +import React from 'react'; +import Avatar from '../../../app/javascript/mastodon/components/avatar'; + +describe('', () => { + const src = '/path/to/image.jpg'; + const size = 100; + const wrapper = render(); + + it('renders a div element with the given src as background', () => { + expect(wrapper.find('div')).to.have.style('background-image', `url(${src})`); + }); + + it('renders a div element of the given size', () => { + ['width', 'height'].map((attr) => { + expect(wrapper.find('div')).to.have.style(attr, `${size}px`); + }); + }); +}); diff --git a/spec/javascript/components/avatar.test.jsx b/spec/javascript/components/avatar.test.jsx deleted file mode 100644 index f70173880..000000000 --- a/spec/javascript/components/avatar.test.jsx +++ /dev/null @@ -1,20 +0,0 @@ -import { expect } from 'chai'; -import { render } from 'enzyme'; - -import Avatar from '../../../app/javascript/mastodon/components/avatar' - -describe('', () => { - const src = '/path/to/image.jpg'; - const size = 100; - const wrapper = render(); - - it('renders a div element with the given src as background', () => { - expect(wrapper.find('div')).to.have.style('background-image', `url(${src})`); - }); - - it('renders a div element of the given size', () => { - ['width', 'height'].map((attr) => { - expect(wrapper.find('div')).to.have.style(attr, `${size}px`); - }); - }); -}); diff --git a/spec/javascript/components/button.test.js b/spec/javascript/components/button.test.js new file mode 100644 index 000000000..9cf8b1eed --- /dev/null +++ b/spec/javascript/components/button.test.js @@ -0,0 +1,71 @@ +import { expect } from 'chai'; +import { shallow } from 'enzyme'; +import sinon from 'sinon'; +import React from 'react'; +import Button from '../../../app/javascript/mastodon/components/button'; + +describe('); + expect(wrapper.find('button')).to.contain(children); + }); + + it('renders the props.text instead of children', () => { + const text = 'foo'; + const children =

children

; + const wrapper = shallow(); + expect(wrapper.find('button')).to.have.text(text); + expect(wrapper.find('button')).to.not.contain(children); + }); + + it('renders style="display: block; width: 100%;" if props.block given', () => { + const wrapper = shallow(); - expect(wrapper.find('button')).to.contain(children); - }); - - it('renders the props.text instead of children', () => { - const text = 'foo'; - const children =

children

; - const wrapper = shallow(); - expect(wrapper.find('button')).to.have.text(text); - expect(wrapper.find('button')).to.not.contain(children); - }); - - it('renders style="display: block; width: 100%;" if props.block given', () => { - const wrapper = shallow(