This repository has been archived by the owner on Mar 13, 2024. It is now read-only.
/
emoji_picker.test.tsx
75 lines (62 loc) · 2.1 KB
/
emoji_picker.test.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import React from 'react';
import {render, screen} from '@testing-library/react';
import {IntlProvider} from 'react-intl';
import EmojiMap from 'utils/emoji_map';
import EmojiPicker from 'components/emoji_picker/emoji_picker';
jest.mock('components/emoji_picker/components/emoji_picker_skin', () => () => (
<div/>
));
describe('components/emoji_picker/EmojiPicker', () => {
const intlProviderProps = {
defaultLocale: 'en',
locale: 'en',
};
const baseProps = {
filter: '',
visible: true,
onEmojiClick: jest.fn(),
handleFilterChange: jest.fn(),
customEmojisEnabled: false,
customEmojiPage: 1,
emojiMap: new EmojiMap(new Map()),
recentEmojis: [],
userSkinTone: 'default',
currentTeamName: 'testTeam',
actions: {
getCustomEmojis: jest.fn(),
incrementEmojiPickerPage: jest.fn(),
searchCustomEmojis: jest.fn(),
setUserSkinTone: jest.fn(),
},
};
test('should match snapshot', () => {
const {asFragment} = render(
<IntlProvider {...intlProviderProps}>
<EmojiPicker {...baseProps}/>
</IntlProvider>,
);
expect(asFragment()).toMatchSnapshot();
});
test('Recent category should not exist if there are no recent emojis', () => {
render(
<IntlProvider {...intlProviderProps}>
<EmojiPicker {...baseProps}/>
</IntlProvider>,
);
expect(screen.queryByLabelText('emoji_picker.recent')).toBeNull();
});
test('Recent category should exist if there are recent emojis', () => {
const props = {
...baseProps,
recentEmojis: ['smile'],
};
render(
<IntlProvider {...intlProviderProps}>
<EmojiPicker {...props}/>
</IntlProvider>,
);
expect(screen.queryByLabelText('emoji_picker.recent')).not.toBeNull();
});
});