mattermost-mobile/app/screens/saved_posts/saved_posts.test.js
Dean Whillier fb8238ab0b
[MM-37553] Update default themes (#5648)
* new themes and theme type updates

* update theme processing

port newer functionality from webapp

* update theme UI

including new svg-based thumbnail

* lint fixes

* update snapshots and tests

* update theme tile border approach

* remove unused path component

* remove old variable typo

* remove old variable type from theme type

* lint and snapshot updates

* update snapshots
2021-09-03 10:50:24 -04:00

68 lines
2 KiB
JavaScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import React from 'react';
import Preferences from '@mm-redux/constants/preferences';
import {shallowWithIntl} from '@test/intl-test-helper';
import SavedPosts from './saved_posts';
describe('SavedPosts', () => {
const baseProps = {
actions: {
clearSearch: jest.fn(),
getPostThread: jest.fn(),
getFlaggedPosts: jest.fn(),
showPermalink: jest.fn(),
selectPost: jest.fn(),
},
theme: Preferences.THEMES.denim,
};
test('should match snapshot', () => {
const wrapper = shallowWithIntl(
<SavedPosts {...baseProps}/>,
);
expect(wrapper.getElement()).toMatchSnapshot();
});
test('should match snapshot when getFlaggedPosts failed', async () => {
const error = new Error('foo');
const newProps = {
...baseProps,
actions: {
...baseProps.actions,
getFlaggedPosts: jest.fn().mockResolvedValue({error}),
},
};
const wrapper = shallowWithIntl(
<SavedPosts {...newProps}/>,
);
await wrapper.instance().getFlaggedPosts();
expect(wrapper.state('didFail')).toBe(true);
expect(wrapper.getElement()).toMatchSnapshot();
});
test('should match snapshot when component waiting for response', () => {
const error = new Error('foo');
const newProps = {
...baseProps,
actions: {
...baseProps.actions,
getFlaggedPosts: jest.fn().mockResolvedValue({error}),
},
};
const wrapper = shallowWithIntl(
<SavedPosts {...newProps}/>,
);
wrapper.instance().getFlaggedPosts();
expect(wrapper.getElement()).toMatchSnapshot();
expect(wrapper.state('isLoading')).toBe(true);
});
});