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 --- model/reaction_test.go | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 model/reaction_test.go (limited to 'model/reaction_test.go') diff --git a/model/reaction_test.go b/model/reaction_test.go new file mode 100644 index 000000000..da73f477a --- /dev/null +++ b/model/reaction_test.go @@ -0,0 +1,64 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package model + +import ( + "strings" + "testing" +) + +func TestReactionIsValid(t *testing.T) { + reaction := Reaction{ + UserId: NewId(), + PostId: NewId(), + EmojiName: "emoji", + CreateAt: GetMillis(), + } + + if err := reaction.IsValid(); err != nil { + t.Fatal(err) + } + + reaction.UserId = "" + if err := reaction.IsValid(); err == nil { + t.Fatal("user id should be invalid") + } + + reaction.UserId = "1234garbage" + if err := reaction.IsValid(); err == nil { + t.Fatal("user id should be invalid") + } + + reaction.UserId = NewId() + reaction.PostId = "" + if err := reaction.IsValid(); err == nil { + t.Fatal("post id should be invalid") + } + + reaction.PostId = "1234garbage" + if err := reaction.IsValid(); err == nil { + t.Fatal("post id should be invalid") + } + + reaction.PostId = NewId() + reaction.EmojiName = "" + if err := reaction.IsValid(); err == nil { + t.Fatal("emoji name should be invalid") + } + + reaction.EmojiName = strings.Repeat("a", 65) + if err := reaction.IsValid(); err == nil { + t.Fatal("emoji name should be invalid") + } + + reaction.EmojiName = strings.Repeat("a", 64) + if err := reaction.IsValid(); err != nil { + t.Fatal(err) + } + + reaction.CreateAt = 0 + if err := reaction.IsValid(); err == nil { + t.Fatal("create at should be invalid") + } +} -- cgit v1.2.3-1-g7c22