summaryrefslogtreecommitdiffstats
path: root/webapp/tests
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/tests')
-rw-r--r--webapp/tests/plugins/__snapshots__/pluggable.test.jsx.snap111
-rw-r--r--webapp/tests/plugins/pluggable.test.jsx50
2 files changed, 161 insertions, 0 deletions
diff --git a/webapp/tests/plugins/__snapshots__/pluggable.test.jsx.snap b/webapp/tests/plugins/__snapshots__/pluggable.test.jsx.snap
new file mode 100644
index 000000000..2f7a5e232
--- /dev/null
+++ b/webapp/tests/plugins/__snapshots__/pluggable.test.jsx.snap
@@ -0,0 +1,111 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`plugins/Pluggable should match snapshot with no overridden component 1`] = `
+<IntlProvider>
+ <Pluggable
+ components={Object {}}
+ theme={Object {}}
+ >
+ <ProfilePopover
+ hasMention={false}
+ isRHS={false}
+ src="src"
+ theme={Object {}}
+ user={Object {}}
+ >
+ <Popover
+ bsClass="popover"
+ id="user-profile-popover"
+ placement="right"
+ theme={Object {}}
+ title="@undefined"
+ >
+ <div
+ className="popover right"
+ id="user-profile-popover"
+ role="tooltip"
+ style={
+ Object {
+ "display": "block",
+ "left": undefined,
+ "top": undefined,
+ }
+ }
+ theme={Object {}}
+ >
+ <div
+ className="arrow"
+ style={
+ Object {
+ "left": undefined,
+ "top": undefined,
+ }
+ }
+ />
+ <h3
+ className="popover-title"
+ >
+ @undefined
+ </h3>
+ <div
+ className="popover-content"
+ >
+ <img
+ className="user-popover__image"
+ height="128"
+ src="src"
+ width="128"
+ />
+ <div
+ className="popover__row first"
+ data-toggle="tooltip"
+ >
+ <a
+ className="text-nowrap text-lowercase user-popover__email"
+ href="#"
+ onClick={[Function]}
+ >
+ <i
+ className="fa fa-paper-plane"
+ />
+ <FormattedMessage
+ defaultMessage="Send Message"
+ id="user_profile.send.dm"
+ values={Object {}}
+ >
+ <span>
+ Send Message
+ </span>
+ </FormattedMessage>
+ </a>
+ </div>
+ </div>
+ </div>
+ </Popover>
+ </ProfilePopover>
+ </Pluggable>
+</IntlProvider>
+`;
+
+exports[`plugins/Pluggable should match snapshot with overridden component 1`] = `
+<Pluggable
+ components={
+ Object {
+ "ProfilePopover": [Function],
+ }
+ }
+ theme={Object {}}
+>
+ <ProfilePopoverPlugin
+ hasMention={false}
+ isRHS={false}
+ src="src"
+ theme={Object {}}
+ user={Object {}}
+ >
+ <span>
+ ProfilePopoverPlugin
+ </span>
+ </ProfilePopoverPlugin>
+</Pluggable>
+`;
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();
+ });
+});