forked from Ivasoft/mattermost-mobile
* Update dependencies
* Fix unsigned builds
(cherry picked from commit ada6be9b7a)
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
56 lines
1.9 KiB
JavaScript
56 lines
1.9 KiB
JavaScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import {shallow} from 'enzyme';
|
|
import React from 'react';
|
|
|
|
import Preferences from '@mm-redux/constants/preferences';
|
|
|
|
import ChannelLoader from './channel_loader';
|
|
|
|
jest.useFakeTimers();
|
|
|
|
describe('ChannelLoader', () => {
|
|
const baseProps = {
|
|
channelIsLoading: true,
|
|
theme: Preferences.THEMES.denim,
|
|
};
|
|
|
|
test('should match snapshot', () => {
|
|
const wrapper = shallow(<ChannelLoader {...baseProps}/>);
|
|
expect(wrapper.getElement()).toMatchSnapshot();
|
|
});
|
|
|
|
test('should call setTimeout and setInterval for showIndicator and retryLoad on mount', () => {
|
|
shallow(<ChannelLoader {...baseProps}/>);
|
|
const setTimeout = jest.spyOn(global, 'setTimeout');
|
|
const setInterval = jest.spyOn(global, 'setInterval');
|
|
expect(setTimeout).not.toHaveBeenCalled();
|
|
expect(setInterval).not.toHaveBeenCalled();
|
|
|
|
const props = {
|
|
...baseProps,
|
|
retryLoad: jest.fn(),
|
|
};
|
|
const wrapper = shallow(<ChannelLoader {...props}/>);
|
|
const instance = wrapper.instance();
|
|
expect(setTimeout).toHaveBeenCalledWith(instance.showIndicator, 10000);
|
|
expect(setInterval).toHaveBeenCalledWith(props.retryLoad, 10000);
|
|
});
|
|
|
|
test('should clear timer and interval on unmount', () => {
|
|
const props = {
|
|
...baseProps,
|
|
retryLoad: jest.fn(),
|
|
};
|
|
const wrapper = shallow(<ChannelLoader {...props}/>);
|
|
const clearTimeout = jest.spyOn(global, 'clearTimeout');
|
|
const clearInterval = jest.spyOn(global, 'clearInterval');
|
|
const instance = wrapper.instance();
|
|
instance.componentWillUnmount();
|
|
|
|
expect(clearTimeout).toHaveBeenCalledWith(instance.stillLoadingTimeout);
|
|
expect(clearInterval).toHaveBeenCalledWith(instance.retryLoadInterval);
|
|
});
|
|
});
|