Fix reduceEmoji() test
This commit is contained in:
parent
b4f5321c0f
commit
571990b78b
|
@ -93,25 +93,25 @@ describe('mergeEmojiFavourites', () => {
|
|||
describe('reduceEmoji', () => {
|
||||
describe('with a clusterfuck of emoji', () => {
|
||||
const emojiReacts = fromJS([
|
||||
{ 'count': 1, 'me': false, 'name': '😡' },
|
||||
{ 'count': 1, 'me': true, 'name': '🔪' },
|
||||
{ 'count': 7, 'me': true, 'name': '😯' },
|
||||
{ 'count': 3, 'me': false, 'name': '😢' },
|
||||
{ 'count': 1, 'me': true, 'name': '🌵' },
|
||||
{ 'count': 20, 'me': true, 'name': '👍' },
|
||||
{ 'count': 7, 'me': false, 'name': '😂' },
|
||||
{ 'count': 15, 'me': true, 'name': '❤' },
|
||||
{ 'count': 1, 'me': false, 'name': '👀' },
|
||||
{ 'count': 1, 'me': false, 'name': '🍩' },
|
||||
{ 'count': 1, 'me': false, 'name': '😡', accounts: [{ id: '2' }] },
|
||||
{ 'count': 1, 'me': true, 'name': '🔪', accounts: [{ id: '1' }] },
|
||||
{ 'count': 7, 'me': true, 'name': '😯', accounts: [{ id: '1' }, { id: '17' }, { id: '18' }, { id: '19' }, { id: '20' }, { id: '21' }, { id: '22' }] },
|
||||
{ 'count': 3, 'me': false, 'name': '😢', accounts: [{ id: '49' }, { id: '50' }, { id: '51' }] },
|
||||
{ 'count': 1, 'me': true, 'name': '🌵', accounts: [{ id: '1' }] },
|
||||
{ 'count': 20, 'me': true, 'name': '👍', accounts: [{ id: '1' }, { id: '23' }, { id: '24' }, { id: '25' }, { id: '26' }, { id: '27' }, { id: '28' }, { id: '29' }, { id: '30' }, { id: '31' }, { id: '32' }, { id: '33' }, { id: '34' }, { id: '35' }, { id: '36' }, { id: '37' }, { id: '38' }, { id: '39' }, { id: '40' }, { id: '41' }] },
|
||||
{ 'count': 7, 'me': false, 'name': '😂', accounts: [{ id: '42' }, { id: '43' }, { id: '44' }, { id: '45' }, { id: '46' }, { id: '47' }, { id: '48' }] },
|
||||
{ 'count': 15, 'me': true, 'name': '❤', accounts: [{ id: '1' }, { id: '3' }, { id: '4' }, { id: '5' }, { id: '6' }, { id: '7' }, { id: '8' }, { id: '9' }, { id: '10' }, { id: '11' }, { id: '12' }, { id: '13' }, { id: '14' }, { id: '15' }, { id: '16' }] },
|
||||
{ 'count': 1, 'me': false, 'name': '👀', accounts: [{ id: '52' }] },
|
||||
{ 'count': 1, 'me': false, 'name': '🍩', accounts: [{ id: '53' }] },
|
||||
]);
|
||||
it('sorts, filters, and combines emoji and favourites', () => {
|
||||
expect(reduceEmoji(emojiReacts, 7)).toEqual(fromJS([
|
||||
{ 'count': 27, 'me': true, 'name': '👍' },
|
||||
{ 'count': 15, 'me': true, 'name': '❤' },
|
||||
{ 'count': 7, 'me': true, 'name': '😯' },
|
||||
{ 'count': 7, 'me': false, 'name': '😂' },
|
||||
{ 'count': 3, 'me': false, 'name': '😢' },
|
||||
{ 'count': 1, 'me': false, 'name': '😡' },
|
||||
expect(reduceEmoji(emojiReacts, 7, '1')).toEqual(fromJS([
|
||||
{ 'count': 27, 'me': true, 'name': '👍', accounts: [{ id: '1' }, { id: '23' }, { id: '24' }, { id: '25' }, { id: '26' }, { id: '27' }, { id: '28' }, { id: '29' }, { id: '30' }, { id: '31' }, { id: '32' }, { id: '33' }, { id: '34' }, { id: '35' }, { id: '36' }, { id: '37' }, { id: '38' }, { id: '39' }, { id: '40' }, { id: '41' }] },
|
||||
{ 'count': 14, 'me': false, 'name': '❤', accounts: [{ id: '3' }, { id: '4' }, { id: '5' }, { id: '6' }, { id: '7' }, { id: '8' }, { id: '9' }, { id: '10' }, { id: '11' }, { id: '12' }, { id: '13' }, { id: '14' }, { id: '15' }, { id: '16' }] },
|
||||
{ 'count': 7, 'me': false, 'name': '😂', accounts: [{ id: '42' }, { id: '43' }, { id: '44' }, { id: '45' }, { id: '46' }, { id: '47' }, { id: '48' }] },
|
||||
{ 'count': 6, 'me': false, 'name': '😯', accounts: [{ id: '17' }, { id: '18' }, { id: '19' }, { id: '20' }, { id: '21' }, { id: '22' }] },
|
||||
{ 'count': 3, 'me': false, 'name': '😢', accounts: [{ id: '49' }, { id: '50' }, { id: '51' }] },
|
||||
{ 'count': 1, 'me': false, 'name': '😡', accounts: [{ id: '2' }] },
|
||||
]));
|
||||
});
|
||||
});
|
||||
|
|
|
@ -55,7 +55,7 @@ export const oneEmojiPerAccount = (emojiReacts, me) => {
|
|||
return acc.set(idx, cur.merge({
|
||||
accounts: accounts,
|
||||
count: accounts.count(),
|
||||
me: inAccounts(accounts, me),
|
||||
me: me ? inAccounts(accounts, me) : false,
|
||||
}));
|
||||
}, emojiReacts)
|
||||
.filter(e => e.get('count') > 0)
|
||||
|
@ -67,10 +67,10 @@ export const filterEmoji = emojiReacts => (
|
|||
ALLOWED_EMOJI.includes(emojiReact.get('name'))
|
||||
)));
|
||||
|
||||
export const reduceEmoji = (emojiReacts, favouritesCount) => (
|
||||
sortEmoji(filterEmoji(mergeEmoji(mergeEmojiFavourites(
|
||||
emojiReacts, favouritesCount
|
||||
)))));
|
||||
export const reduceEmoji = (emojiReacts, favouritesCount, me) => (
|
||||
sortEmoji(mergeEmojiFavourites(oneEmojiPerAccount(filterEmoji(sortEmoji(mergeEmoji(
|
||||
emojiReacts
|
||||
))), me), favouritesCount)));
|
||||
|
||||
export const getReactForStatus = status => {
|
||||
const emojiReacts = status.getIn(['pleroma', 'emoji_reactions'], ImmutableList());
|
||||
|
@ -78,6 +78,6 @@ export const getReactForStatus = status => {
|
|||
if (acc) return acc;
|
||||
if (cur.get('me') === true) return cur.get('name');
|
||||
return acc;
|
||||
}, false);
|
||||
}, undefined);
|
||||
return emojiReact ? emojiReact : status.get('favourited') && '👍';
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue