mattermost-mobile/app/components/post_draft/uploads/uploads.test.js
Mattermost Build f014c8557f
MM-29948 Display error msg when pasting files and uploads are disabled (#4927) (#4930)
* MM-29948 Display error msg when pasting files and uploads are disabled

* Remove unnecessary ref and Animated.View

Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
(cherry picked from commit f73db6e51c)

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-10-28 13:23:40 -03:00

62 lines
2.1 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 Preferences from '@mm-redux/constants/preferences';
import EphemeralStore from '@store/ephemeral_store';
import Uploads from './uploads';
describe('Uploads', () => {
const baseProps = {
canUploadFiles: true,
channelId: 'channel-id',
files: [],
filesUploadingForCurrentChannel: true,
handleRemoveLastFile: jest.fn(),
initUploadFiles: jest.fn(),
maxFileSize: 100,
theme: Preferences.THEMES.default,
};
test('handleUploadFiles should return early if screen is not the top screen', async () => {
const topScreenId = 'top-screen';
EphemeralStore.getNavigationTopComponentId = jest.fn(() => (topScreenId));
const props = {
...baseProps,
screenId: `not-${topScreenId}`,
};
const wrapper = shallow(
<Uploads {...props}/>,
);
const instance = wrapper.instance();
instance.handleFileSizeWarning = jest.fn();
await instance.handleUploadFiles([]);
expect(instance.handleFileSizeWarning).not.toHaveBeenCalled();
expect(props.initUploadFiles).not.toHaveBeenCalled();
});
test('handlePasteFiles should display an error if uploads are disabled', () => {
const topScreenId = 'top-screen';
EphemeralStore.getNavigationTopComponentId = jest.fn(() => (topScreenId));
const props = {
...baseProps,
canUploadFiles: false,
screenId: topScreenId,
};
const wrapper = shallow(
<Uploads {...props}/>,
);
const instance = wrapper.instance();
instance.showPasteFilesErrorDialog = jest.fn();
instance.handleUploadDisabled = jest.fn();
instance.handlePasteFiles(undefined, []);
expect(instance.showPasteFilesErrorDialog).not.toHaveBeenCalled();
expect(instance.handleUploadDisabled).toHaveBeenCalled();
});
});