From 02228d41e5beb09faca8cfa28bc99d9df4cef42c Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Sat, 23 May 2020 11:54:26 -0500 Subject: [PATCH] Make ALLOWED_EMOJI slightly configurable to let tests pass --- app/gabsocial/utils/__tests__/emoji_reacts-test.js | 13 +++++++++++-- app/gabsocial/utils/emoji_reacts.js | 8 ++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/app/gabsocial/utils/__tests__/emoji_reacts-test.js b/app/gabsocial/utils/__tests__/emoji_reacts-test.js index e1a09ea94..b1b2c7bfc 100644 --- a/app/gabsocial/utils/__tests__/emoji_reacts-test.js +++ b/app/gabsocial/utils/__tests__/emoji_reacts-test.js @@ -8,6 +8,15 @@ import { } from '../emoji_reacts'; import { fromJS } from 'immutable'; +const ALLOWED_EMOJI = [ + '👍', + '❤', + '😂', + '😯', + '😢', + '😡', +]; + describe('filterEmoji', () => { describe('with a mix of allowed and disallowed emoji', () => { const emojiReacts = fromJS([ @@ -20,7 +29,7 @@ describe('filterEmoji', () => { { 'count': 1, 'me': true, 'name': '😠' }, ]); it('filters only allowed emoji', () => { - expect(filterEmoji(emojiReacts)).toEqual(fromJS([ + expect(filterEmoji(emojiReacts, ALLOWED_EMOJI)).toEqual(fromJS([ { 'count': 1, 'me': true, 'name': '😂' }, { 'count': 1, 'me': true, 'name': '😡' }, ])); @@ -106,7 +115,7 @@ describe('reduceEmoji', () => { { 'count': 1, 'me': false, 'name': '🍩' }, ]); it('sorts, filters, and combines emoji and favourites', () => { - expect(reduceEmoji(emojiReacts, 7, true)).toEqual(fromJS([ + expect(reduceEmoji(emojiReacts, 7, true, ALLOWED_EMOJI)).toEqual(fromJS([ { 'count': 27, 'me': true, 'name': '👍' }, { 'count': 15, 'me': true, 'name': '❤' }, { 'count': 7, 'me': true, 'name': '😯' }, diff --git a/app/gabsocial/utils/emoji_reacts.js b/app/gabsocial/utils/emoji_reacts.js index 9ac9bb6e3..4e378eced 100644 --- a/app/gabsocial/utils/emoji_reacts.js +++ b/app/gabsocial/utils/emoji_reacts.js @@ -65,15 +65,15 @@ export const oneEmojiPerAccount = (emojiReacts, me) => { .reverse(); }; -export const filterEmoji = emojiReacts => ( +export const filterEmoji = (emojiReacts, allowedEmoji=ALLOWED_EMOJI) => ( emojiReacts.filter(emojiReact => ( - ALLOWED_EMOJI.includes(emojiReact.get('name')) + allowedEmoji.includes(emojiReact.get('name')) ))); -export const reduceEmoji = (emojiReacts, favouritesCount, favourited) => ( +export const reduceEmoji = (emojiReacts, favouritesCount, favourited, allowedEmoji=ALLOWED_EMOJI) => ( filterEmoji(sortEmoji(mergeEmoji(mergeEmojiFavourites( emojiReacts, favouritesCount, favourited - ))))); + ))), allowedEmoji)); export const getReactForStatus = status => { return reduceEmoji(