diff --git a/webapp/components/post_view/post_info/post_info.jsx b/webapp/components/post_view/post_info/post_info.jsx index 5f37017610..21492b92fb 100644 --- a/webapp/components/post_view/post_info/post_info.jsx +++ b/webapp/components/post_view/post_info/post_info.jsx @@ -11,6 +11,7 @@ import * as Utils from 'utils/utils.jsx'; import * as PostUtils from 'utils/post_utils.jsx'; import {emitEmojiPosted} from 'actions/post_actions.jsx'; import Constants from 'utils/constants.jsx'; +import {Posts} from 'mattermost-redux/constants'; import React from 'react'; import PropTypes from 'prop-types'; @@ -215,7 +216,7 @@ export default class PostInfo extends React.PureComponent { } let visibleMessage; - if (isEphemeral && !this.props.compactDisplay) { + if (isEphemeral && !this.props.compactDisplay && post.state !== Posts.POST_DELETED) { visibleMessage = ( +
+ + +
+
+ + + + + + + + +
+ +`; + +exports[`components/post_view/PostInfo should match snapshot, compact display 1`] = ` +
+
+ + +
+
+ + + + + + + + +
+
+`; + +exports[`components/post_view/PostInfo should match snapshot, ephemeral deleted post 1`] = ` +
+
+ + +
+ +
+`; + +exports[`components/post_view/PostInfo should match snapshot, ephemeral post 1`] = ` +
+
+ + + + + +
+ +
+`; + +exports[`components/post_view/PostInfo should match snapshot, flagged post 1`] = ` +
+
+ + +
+
+ + + + + + + + +
+
+`; + +exports[`components/post_view/PostInfo should match snapshot, military time 1`] = ` +
+
+ + +
+
+ + +
+
+`; + +exports[`components/post_view/PostInfo should match snapshot, pinned post 1`] = ` +
+
+ + + + + +
+
+ + + + + + + + +
+
+`; diff --git a/webapp/tests/components/post_view/post_info/post_info.test.jsx b/webapp/tests/components/post_view/post_info/post_info.test.jsx new file mode 100644 index 0000000000..d254226eba --- /dev/null +++ b/webapp/tests/components/post_view/post_info/post_info.test.jsx @@ -0,0 +1,225 @@ +// 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 PostInfo from 'components/post_view/post_info/post_info.jsx'; +import {Posts} from 'mattermost-redux/constants'; + +const post = { + channel_id: 'g6139tbospd18cmxroesdk3kkc', + create_at: 1502715365009, + delete_at: 0, + edit_at: 1502715372443, + hashtags: '', + id: 'e584uzbwwpny9kengqayx5ayzw', + is_pinned: false, + message: 'post message', + original_id: '', + parent_id: '', + pending_post_id: '', + props: {}, + root_id: '', + type: '', + update_at: 1502715372443, + user_id: 'b4pfxi8sn78y8yq7phzxxfor7h' +}; + +describe('components/post_view/PostInfo', () => { + afterEach(() => { + global.window.mm_config = null; + global.window.EnableEmojiPicker = null; + }); + + test('should match snapshot', () => { + function emptyFunction() {} //eslint-disable-line no-empty-function + + global.window.mm_config = {}; + global.window.mm_config.EnableEmojiPicker = 'true'; + + const wrapper = shallow( + + ); + expect(wrapper).toMatchSnapshot(); + }); + + test('should match snapshot, compact display', () => { + function emptyFunction() {} //eslint-disable-line no-empty-function + + global.window.mm_config = {}; + global.window.mm_config.EnableEmojiPicker = 'true'; + + const wrapper = shallow( + + ); + expect(wrapper).toMatchSnapshot(); + }); + + test('should match snapshot, military time', () => { + function emptyFunction() {} //eslint-disable-line no-empty-function + + global.window.mm_config = {}; + global.window.mm_config.EnableEmojiPicker = 'false'; + + const wrapper = shallow( + + ); + expect(wrapper).toMatchSnapshot(); + }); + + test('should match snapshot, flagged post', () => { + function emptyFunction() {} //eslint-disable-line no-empty-function + + global.window.mm_config = {}; + global.window.mm_config.EnableEmojiPicker = 'true'; + + const wrapper = shallow( + + ); + expect(wrapper).toMatchSnapshot(); + }); + + test('should match snapshot, pinned post', () => { + function emptyFunction() {} //eslint-disable-line no-empty-function + + global.window.mm_config = {}; + global.window.mm_config.EnableEmojiPicker = 'true'; + + post.is_pinned = true; + + const wrapper = shallow( + + ); + expect(wrapper).toMatchSnapshot(); + }); + + test('should match snapshot, ephemeral post', () => { + function emptyFunction() {} //eslint-disable-line no-empty-function + + global.window.mm_config = {}; + global.window.mm_config.EnableEmojiPicker = 'true'; + + post.is_pinned = false; + post.type = Constants.PostTypes.EPHEMERAL; + + const wrapper = shallow( + + ); + expect(wrapper).toMatchSnapshot(); + }); + + test('should match snapshot, ephemeral deleted post', () => { + function emptyFunction() {} //eslint-disable-line no-empty-function + + global.window.mm_config = {}; + global.window.mm_config.EnableEmojiPicker = 'true'; + + post.type = Constants.PostTypes.EPHEMERAL; + post.state = Posts.POST_DELETED; + + const wrapper = shallow( + + ); + expect(wrapper).toMatchSnapshot(); + }); +}); \ No newline at end of file