diff options
Diffstat (limited to 'webapp/tests/plugins/pluggable.test.jsx')
-rw-r--r-- | webapp/tests/plugins/pluggable.test.jsx | 50 |
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(); + }); +}); |