From 165ad0d4f791f8ae2109472d8a626d911fa368e0 Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Wed, 30 Nov 2016 13:55:49 -0500 Subject: PLT-1378 Initial version of emoji reactions (#4520) * Refactored emoji.json to support multiple aliases and emoji categories * Added custom category to emoji.jsx and stabilized all fields * Removed conflicting aliases for :mattermost: and :ca: * fixup after store changes * Added emoji reactions * Removed reactions for an emoji when that emoji is deleted * Fixed incorrect test case * Renamed ReactionList to ReactionListView * Fixed :+1: and :-1: not showing up as possible reactions * Removed text emoticons from emoji reaction autocomplete * Changed emoji reactions to be sorted by the order that they were first created * Set a maximum number of listeners for the ReactionStore * Removed unused code from Textbox component * Fixed reaction permissions * Changed error code when trying to modify reactions for another user * Fixed merge conflicts * Properly applied theme colours to reactions * Fixed ESLint and gofmt errors * Fixed ReactionListContainer to properly update when its post prop changes * Removed unnecessary escape characters from reaction regexes * Shared reaction message pattern between CreatePost and CreateComment * Removed an unnecessary select query when saving a reaction * Changed reactions route to be under /reactions * Fixed copyright dates on newly added files * Removed debug code that prevented all unit tests from being ran * Cleaned up unnecessary code for reactions * Renamed ReactionStore.List to ReactionStore.GetForPost --- webapp/tests/client_reaction.test.jsx | 81 +++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 webapp/tests/client_reaction.test.jsx (limited to 'webapp/tests') diff --git a/webapp/tests/client_reaction.test.jsx b/webapp/tests/client_reaction.test.jsx new file mode 100644 index 000000000..fba3fd43b --- /dev/null +++ b/webapp/tests/client_reaction.test.jsx @@ -0,0 +1,81 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import TestHelper from './test_helper.jsx'; + +describe('Client.Reaction', function() { + this.timeout(100000); + + it('saveListReaction', function(done) { + TestHelper.initBasic(() => { + const channelId = TestHelper.basicChannel().id; + const postId = TestHelper.basicPost().id; + + const reaction = { + post_id: postId, + user_id: TestHelper.basicUser().id, + emoji_name: 'upside_down_face' + }; + + TestHelper.basicClient().saveReaction( + channelId, + reaction, + function() { + TestHelper.basicClient().listReactions( + channelId, + postId, + function(reactions) { + if (reactions.length === 1 && + reactions[0].post_id === reaction.post_id && + reactions[0].user_id === reaction.user_id && + reactions[0].emoji_name === reaction.emoji_name) { + done(); + } else { + done(new Error('test reaction wasn\'t returned')); + } + }, + function(err) { + done(new Error(err.message)); + } + ); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); + + it('deleteReaction', function(done) { + TestHelper.initBasic(() => { + const channelId = TestHelper.basicChannel().id; + const postId = TestHelper.basicPost().id; + + const reaction = { + post_id: postId, + user_id: TestHelper.basicUser().id, + emoji_name: 'upside_down_face' + }; + + TestHelper.basicClient().saveReaction( + channelId, + reaction, + function() { + TestHelper.basicClient().deleteReaction( + channelId, + reaction, + function() { + done(); + }, + function(err) { + done(new Error(err.message)); + } + ); + }, + function(err) { + done(new Error(err.message)); + } + ); + }); + }); +}); -- cgit v1.2.3-1-g7c22