summaryrefslogtreecommitdiffstats
path: root/webapp/tests/components/spinner_button.test.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/tests/components/spinner_button.test.jsx')
-rw-r--r--webapp/tests/components/spinner_button.test.jsx53
1 files changed, 53 insertions, 0 deletions
diff --git a/webapp/tests/components/spinner_button.test.jsx b/webapp/tests/components/spinner_button.test.jsx
new file mode 100644
index 000000000..39e93071d
--- /dev/null
+++ b/webapp/tests/components/spinner_button.test.jsx
@@ -0,0 +1,53 @@
+// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import React from 'react';
+import {shallow, mount} from 'enzyme';
+
+import SpinnerButton from 'components/spinner_button.jsx';
+
+describe('components/SpinnerButton', () => {
+ test('should match snapshot with required props', () => {
+ const wrapper = shallow(
+ <SpinnerButton
+ spinning={false}
+ />
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ test('should match snapshot with spinning', () => {
+ const wrapper = shallow(
+ <SpinnerButton
+ spinning={true}
+ />
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ test('should match snapshot with children', () => {
+ const wrapper = shallow(
+ <SpinnerButton
+ spinning={false}
+ >
+ <span id='child1'/>
+ <span id='child2'/>
+ </SpinnerButton>
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ test('should handle onClick', (done) => {
+ function onClick() {
+ done();
+ }
+
+ const wrapper = mount(
+ <SpinnerButton
+ spinning={false}
+ onClick={onClick}
+ />
+ );
+ wrapper.find('button').first().props().onClick();
+ });
+});