Page MenuHomePhorge

D5953.1765128737.diff
No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None

D5953.1765128737.diff

diff --git a/lib/shared/reaction-utils.test.js b/lib/shared/reaction-utils.test.js
new file mode 100644
--- /dev/null
+++ b/lib/shared/reaction-utils.test.js
@@ -0,0 +1,90 @@
+// @flow
+
+import type { MessageReactionInfo } from '../selectors/chat-selectors';
+import { stringForReactionList } from './reaction-utils';
+
+describe('stringForReactionList(reactions: $ReadOnlyMap<string, MessageReactionInfo>)', () => {
+ it('We expect stringForReactionList to return (👍 3) for a message with three user likes including the viewer', () => {
+ const messageLikesUsers = ['83810', '86622', '83889'];
+ const messageLikesUsersSet = new Set(messageLikesUsers);
+ const messageLikesInfo = {
+ users: messageLikesUsersSet,
+ viewerReacted: true,
+ };
+
+ const reactionsMap = new Map<string, MessageReactionInfo>();
+ reactionsMap.set('👍', messageLikesInfo);
+
+ expect(stringForReactionList(reactionsMap)).toBe('👍 3');
+ });
+
+ it('We expect stringForReactionList to return (👍 3) for a message with three user likes not including the viewer', () => {
+ const messageLikesUsers = ['83810', '86622', '83889'];
+ const messageLikesUsersSet = new Set(messageLikesUsers);
+ const messageLikesInfo = {
+ users: messageLikesUsersSet,
+ viewerReacted: false,
+ };
+
+ const reactionsMap = new Map<string, MessageReactionInfo>();
+ reactionsMap.set('👍', messageLikesInfo);
+
+ expect(stringForReactionList(reactionsMap)).toBe('👍 3');
+ });
+
+ it('We expect stringForReactionList to return (👍) for a message with one user like including the viewer', () => {
+ const messageLikesUsers = ['83810'];
+ const messageLikesUsersSet = new Set(messageLikesUsers);
+ const messageLikesInfo = {
+ users: messageLikesUsersSet,
+ viewerReacted: true,
+ };
+
+ const reactionsMap = new Map<string, MessageReactionInfo>();
+ reactionsMap.set('👍', messageLikesInfo);
+
+ expect(stringForReactionList(reactionsMap)).toBe('👍');
+ });
+
+ it('We expect stringForReactionList to return (👍) for a message with one user like not including the viewer', () => {
+ const messageLikesUsers = ['86622'];
+ const messageLikesUsersSet = new Set(messageLikesUsers);
+ const messageLikesInfo = {
+ users: messageLikesUsersSet,
+ viewerReacted: false,
+ };
+
+ const reactionsMap = new Map<string, MessageReactionInfo>();
+ reactionsMap.set('👍', messageLikesInfo);
+
+ expect(stringForReactionList(reactionsMap)).toBe('👍');
+ });
+
+ it('We expect stringForReactionList to return an empty string for a message no reactions', () => {
+ const reactionsMap = new Map<string, MessageReactionInfo>();
+
+ expect(stringForReactionList(reactionsMap)).toBe('');
+ });
+
+ it('We expect stringForReactionList to return (👍 😆 3) for a message with one like not including the viewer and three laugh reactions including the viewer', () => {
+ const messageLikesUsers = ['86622'];
+ const messageLikesUsersSet = new Set(messageLikesUsers);
+ const messageLikesInfo = {
+ users: messageLikesUsersSet,
+ viewerReacted: false,
+ };
+
+ const messageLaughsUsers = ['12345', '67890', '83889'];
+ const messageLaughsUsersSet = new Set(messageLaughsUsers);
+ const messageLaughsInfo = {
+ users: messageLaughsUsersSet,
+ viewerReacted: true,
+ };
+
+ const reactionsMap = new Map<string, MessageReactionInfo>();
+ reactionsMap.set('👍', messageLikesInfo);
+ reactionsMap.set('😆', messageLaughsInfo);
+
+ expect(stringForReactionList(reactionsMap)).toBe('👍 😆 3');
+ });
+});

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 7, 5:32 PM (6 h, 37 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5845182
Default Alt Text
D5953.1765128737.diff (3 KB)

Event Timeline