From 017cd2a9575149bb87f382f441b9c960b6816c9d Mon Sep 17 00:00:00 2001
From: Joram Wilander <jwawilander@gmail.com>
Date: Wed, 17 May 2017 11:29:41 -0400
Subject: PLT-6406 Migrate new channel modal to be pure and use redux (#6416)

* Migrate new channel modal to be pure and use redux

* Add component tests
---
 webapp/tests/components/new_channel_modal.test.jsx | 79 ++++++++++++++++++++++
 1 file changed, 79 insertions(+)
 create mode 100644 webapp/tests/components/new_channel_modal.test.jsx

(limited to 'webapp/tests/components/new_channel_modal.test.jsx')

diff --git a/webapp/tests/components/new_channel_modal.test.jsx b/webapp/tests/components/new_channel_modal.test.jsx
new file mode 100644
index 000000000..358a839a3
--- /dev/null
+++ b/webapp/tests/components/new_channel_modal.test.jsx
@@ -0,0 +1,79 @@
+// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import React from 'react';
+import {shallow} from 'enzyme';
+
+import Constants from 'utils/constants.jsx';
+
+import NewChannelModal from 'components/new_channel_modal/new_channel_modal.jsx';
+
+describe('components/NewChannelModal', () => {
+    afterEach(() => {
+        global.window.mm_config = null;
+        global.window.mm_license = null;
+    });
+
+    test('should match snapshot, modal not showing', () => {
+        function emptyFunction() {} //eslint-disable-line no-empty-function
+
+        global.window.mm_license = {};
+        global.window.mm_license.IsLicensed = 'false';
+
+        const wrapper = shallow(
+            <NewChannelModal
+                show={true}
+                channelType={Constants.OPEN_CHANNEL}
+                channelData={{name: 'testchannel', displayName: 'testchannel', header: '', purpose: ''}}
+                onSubmitChannel={emptyFunction}
+                onModalDismissed={emptyFunction}
+                onTypeSwitched={emptyFunction}
+                onChangeURLPressed={emptyFunction}
+                onDataChanged={emptyFunction}
+            />
+        );
+        expect(wrapper).toMatchSnapshot();
+    });
+
+    test('should match snapshot, modal showing', () => {
+        function emptyFunction() {} //eslint-disable-line no-empty-function
+
+        global.window.mm_license = {};
+        global.window.mm_license.IsLicensed = 'false';
+
+        const wrapper = shallow(
+            <NewChannelModal
+                show={true}
+                channelType={Constants.OPEN_CHANNEL}
+                channelData={{name: 'testchannel', displayName: 'testchannel', header: '', purpose: ''}}
+                onSubmitChannel={emptyFunction}
+                onModalDismissed={emptyFunction}
+                onTypeSwitched={emptyFunction}
+                onChangeURLPressed={emptyFunction}
+                onDataChanged={emptyFunction}
+            />
+        );
+        expect(wrapper).toMatchSnapshot();
+    });
+
+    test('should match snapshot, private channel filled in header and purpose', () => {
+        function emptyFunction() {} //eslint-disable-line no-empty-function
+
+        global.window.mm_license = {};
+        global.window.mm_license.IsLicensed = 'false';
+
+        const wrapper = shallow(
+            <NewChannelModal
+                show={true}
+                channelType={Constants.PRIVATE_CHANNEL}
+                channelData={{name: 'testchannel', displayName: 'testchannel', header: 'some header', purpose: 'some purpose'}}
+                onSubmitChannel={emptyFunction}
+                onModalDismissed={emptyFunction}
+                onTypeSwitched={emptyFunction}
+                onChangeURLPressed={emptyFunction}
+                onDataChanged={emptyFunction}
+            />
+        );
+        expect(wrapper).toMatchSnapshot();
+    });
+});
-- 
cgit v1.2.3-1-g7c22

