summaryrefslogtreecommitdiffstats
path: root/webapp/tests/plugins/pluggable.test.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/tests/plugins/pluggable.test.jsx')
-rw-r--r--webapp/tests/plugins/pluggable.test.jsx50
1 files changed, 50 insertions, 0 deletions
diff --git a/webapp/tests/plugins/pluggable.test.jsx b/webapp/tests/plugins/pluggable.test.jsx
new file mode 100644
index 000000000..96dedb037
--- /dev/null
+++ b/webapp/tests/plugins/pluggable.test.jsx
@@ -0,0 +1,50 @@
+// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import React from 'react';
+import {mount} from 'enzyme';
+import {IntlProvider} from 'react-intl';
+
+import Pluggable from 'plugins/pluggable/pluggable.jsx';
+import ProfilePopover from 'components/profile_popover.jsx';
+
+class ProfilePopoverPlugin extends React.PureComponent {
+ render() {
+ return <span>{'ProfilePopoverPlugin'}</span>;
+ }
+}
+
+describe('plugins/Pluggable', () => {
+ test('should match snapshot with overridden component', () => {
+ const wrapper = mount(
+ <Pluggable
+ components={{ProfilePopover: ProfilePopoverPlugin}}
+ theme={{}}
+ >
+ <ProfilePopover
+ user={{}}
+ src='src'
+ />
+ </Pluggable>
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ test('should match snapshot with no overridden component', () => {
+ window.mm_config = {};
+ const wrapper = mount(
+ <IntlProvider>
+ <Pluggable
+ components={{}}
+ theme={{}}
+ >
+ <ProfilePopover
+ user={{}}
+ src='src'
+ />
+ </Pluggable>
+ </IntlProvider>
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+});