summaryrefslogtreecommitdiffstats
path: root/webapp/tests/components/about_build_modal.test.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/tests/components/about_build_modal.test.jsx')
-rw-r--r--webapp/tests/components/about_build_modal.test.jsx129
1 files changed, 129 insertions, 0 deletions
diff --git a/webapp/tests/components/about_build_modal.test.jsx b/webapp/tests/components/about_build_modal.test.jsx
new file mode 100644
index 000000000..981bbac67
--- /dev/null
+++ b/webapp/tests/components/about_build_modal.test.jsx
@@ -0,0 +1,129 @@
+// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import React from 'react';
+import {shallow} from 'enzyme';
+import {mountWithIntl} from 'tests/helpers/intl-test-helper.jsx';
+
+import AboutBuildModal from 'components/about_build_modal.jsx';
+import {Modal} from 'react-bootstrap';
+
+describe('components/AboutBuildModal', () => {
+ afterEach(() => {
+ global.window.mm_config = null;
+ global.window.mm_license = null;
+ });
+
+ test('should match snapshot for enterprise edition', () => {
+ global.window.mm_config = {
+ BuildEnterpriseReady: 'true',
+ Version: '3.6.0',
+ BuildNumber: '3.6.2',
+ SQLDriverName: 'Postgres',
+ BuildHash: 'abcdef1234567890',
+ BuildHashEnterprise: '0123456789abcdef',
+ BuildDate: '21 January 2017'
+ };
+
+ global.window.mm_license = {
+ isLicensed: 'true',
+ Company: 'Mattermost Inc'
+ };
+
+ const wrapper = shallow(
+ <AboutBuildModal
+ show={true}
+ onModalDismissed={null}
+ />
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ test('should match snapshot for team edition', () => {
+ global.window.mm_config = {
+ BuildEnterpriseReady: 'false',
+ Version: '3.6.0',
+ BuildNumber: '3.6.2',
+ SQLDriverName: 'Postgres',
+ BuildHash: 'abcdef1234567890',
+ BuildDate: '21 January 2017'
+ };
+
+ global.window.mm_license = null;
+
+ const wrapper = shallow(
+ <AboutBuildModal
+ show={true}
+ onModalDismissed={null}
+ />
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ test('should hide the build number if it is the same as the version number', () => {
+ global.window.mm_config = {
+ BuildEnterpriseReady: 'false',
+ Version: '3.6.0',
+ BuildNumber: '3.6.0',
+ SQLDriverName: 'Postgres',
+ BuildHash: 'abcdef1234567890',
+ BuildDate: '21 January 2017'
+ };
+
+ global.window.mm_license = null;
+
+ const wrapper = shallow(
+ <AboutBuildModal
+ show={true}
+ onModalDismissed={null}
+ />
+ );
+ expect(wrapper.find('#versionString').text()).toBe(' 3.6.0');
+ });
+
+ test('should show the build number if it is the different from the version number', () => {
+ global.window.mm_config = {
+ BuildEnterpriseReady: 'false',
+ Version: '3.6.0',
+ BuildNumber: '3.6.2',
+ SQLDriverName: 'Postgres',
+ BuildHash: 'abcdef1234567890',
+ BuildDate: '21 January 2017'
+ };
+
+ global.window.mm_license = null;
+
+ const wrapper = shallow(
+ <AboutBuildModal
+ show={true}
+ onModalDismissed={null}
+ />
+ );
+ expect(wrapper.find('#versionString').text()).toBe(' 3.6.0\u00a0 (3.6.2)');
+ });
+
+ test('should call onModalDismissed callback when the modal is hidden', (done) => {
+ global.window.mm_config = {
+ BuildEnterpriseReady: 'false',
+ Version: '3.6.0',
+ BuildNumber: '3.6.2',
+ SQLDriverName: 'Postgres',
+ BuildHash: 'abcdef1234567890',
+ BuildDate: '21 January 2017'
+ };
+
+ global.window.mm_license = null;
+
+ function onHide() {
+ done();
+ }
+
+ const wrapper = mountWithIntl(
+ <AboutBuildModal
+ show={true}
+ onModalDismissed={onHide}
+ />
+ );
+ wrapper.find(Modal).first().props().onHide();
+ });
+});