* Update screens * Update login tests * Remove done * Fix failing tests * Update screens and components * Check styles fix * Update tests * Prevent setState call after component unmounts * Add empty setButtons func to dummy navigator * Remove platform check * Remove Platform import * Update react-native-navigation version * Add separate showModalOverCurrentContext function * check-style fixes * Remove overriding of AppDelegate's window * Fix modal over current context animation * Add showSearchModal navigation action * Check-style fix * Address review comments * Update SettingsSidebar and children * Update EditProfile screen * Update SettingsSidebar * Keep track of latest componentId to appear * Track componentId in state to use in navigation actions * Update FlaggedPosts and children * Update RecentMentions * Update Settings * Store componentIds in ephemeral store * Update AttachmentButton * Remove unnecessary dismissModal * Fix typo * Upate NotificationSettings * Update NotificationSettingsAutoResponder * Update NotificationSettingsMentions * Update NotificationSettingsMobile * Update CreateChannel and children * Update MoreChannels * Update ChannelPeek and children * Update ChannelNavBar and children * Update ChannelPostList and children * Update ChannelInfo and children * Update ChannelAddMembers * Update ChannelMembers * Update EditChannel * Fix setting of top bar buttons * Update Channel screen and children * Fix typo * Use goToScreen for Android too * Remove navigationComponentId
58 lines
1.9 KiB
JavaScript
58 lines
1.9 KiB
JavaScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import React from 'react';
|
|
import {shallow} from 'enzyme';
|
|
|
|
import PostList from './post_list';
|
|
import Preferences from 'mattermost-redux/constants/preferences';
|
|
|
|
jest.useFakeTimers();
|
|
|
|
describe('PostList', () => {
|
|
const serverURL = 'https://server-url.fake';
|
|
const baseProps = {
|
|
actions: {
|
|
handleSelectChannelByName: jest.fn(),
|
|
loadChannelsByTeamName: jest.fn(),
|
|
refreshChannelWithRetry: jest.fn(),
|
|
selectFocusedPostId: jest.fn(),
|
|
setDeepLinkURL: jest.fn(),
|
|
showModalOverCurrentContext: jest.fn(),
|
|
},
|
|
deepLinkURL: '',
|
|
lastPostIndex: -1,
|
|
postIds: ['post-id-1', 'post-id-2'],
|
|
serverURL,
|
|
siteURL: 'https://site-url.fake',
|
|
theme: Preferences.THEMES.default,
|
|
};
|
|
|
|
const deepLinks = {
|
|
permalink: serverURL + '/team-name/pl/pl-id',
|
|
channel: serverURL + '/team-name/channels/channel-name',
|
|
};
|
|
|
|
const wrapper = shallow(
|
|
<PostList {...baseProps}/>
|
|
);
|
|
|
|
test('should match snapshot', () => {
|
|
expect(wrapper.getElement()).toMatchSnapshot();
|
|
});
|
|
|
|
test('setting permalink deep link', () => {
|
|
wrapper.setProps({deepLinkURL: deepLinks.permalink});
|
|
expect(baseProps.actions.setDeepLinkURL).toHaveBeenCalled();
|
|
expect(baseProps.actions.selectFocusedPostId).toHaveBeenCalled();
|
|
expect(baseProps.actions.showModalOverCurrentContext).toHaveBeenCalled();
|
|
expect(wrapper.getElement()).toMatchSnapshot();
|
|
});
|
|
|
|
test('setting channel deep link', () => {
|
|
wrapper.setProps({deepLinkURL: deepLinks.channel});
|
|
expect(baseProps.actions.setDeepLinkURL).toHaveBeenCalled();
|
|
expect(baseProps.actions.handleSelectChannelByName).toHaveBeenCalled();
|
|
expect(wrapper.getElement()).toMatchSnapshot();
|
|
});
|
|
});
|