summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
authorJesús Espino <jespinog@gmail.com>2017-11-14 23:27:14 +0100
committerJoram Wilander <jwawilander@gmail.com>2017-11-14 17:27:14 -0500
commit6c211c3a12b9f909651a1431999067c7a8df0def (patch)
tree445c7cd195599dc6cb9a4636deb03179a768fd26 /api
parent1c92ad0afb7d0828f5d8a69adbf9600b75f3b212 (diff)
downloadchat-6c211c3a12b9f909651a1431999067c7a8df0def.tar.gz
chat-6c211c3a12b9f909651a1431999067c7a8df0def.tar.bz2
chat-6c211c3a12b9f909651a1431999067c7a8df0def.zip
PLT-7111 Add groupmsg command (#7419)
* Coping command_msg to use as command_groupmsg base * Changing msg to groupmsg names in groumsg command * Add groupmsg command
Diffstat (limited to 'api')
-rw-r--r--api/command_groupmsg_test.go58
1 files changed, 58 insertions, 0 deletions
diff --git a/api/command_groupmsg_test.go b/api/command_groupmsg_test.go
new file mode 100644
index 000000000..fcb9953ad
--- /dev/null
+++ b/api/command_groupmsg_test.go
@@ -0,0 +1,58 @@
+// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+package api
+
+import (
+ "strings"
+ "testing"
+
+ "github.com/mattermost/mattermost-server/model"
+)
+
+func TestGroupmsgCommands(t *testing.T) {
+ th := Setup().InitBasic()
+ defer th.TearDown()
+
+ Client := th.BasicClient
+ team := th.BasicTeam
+ user1 := th.BasicUser
+ user2 := th.BasicUser2
+ user3 := th.CreateUser(th.BasicClient)
+ user4 := th.CreateUser(th.BasicClient)
+ user5 := th.CreateUser(th.BasicClient)
+ user6 := th.CreateUser(th.BasicClient)
+ user7 := th.CreateUser(th.BasicClient)
+ user8 := th.CreateUser(th.BasicClient)
+ user9 := th.CreateUser(th.BasicClient)
+ th.LinkUserToTeam(user3, team)
+ th.LinkUserToTeam(user4, team)
+
+ rs1 := Client.Must(Client.Command("", "/groupmsg "+user2.Username+","+user3.Username)).Data.(*model.CommandResponse)
+
+ group1 := model.GetGroupNameFromUserIds([]string{user1.Id, user2.Id, user3.Id})
+
+ if !strings.HasSuffix(rs1.GotoLocation, "/"+team.Name+"/channels/"+group1) {
+ t.Fatal("failed to create group channel")
+ }
+
+ rs2 := Client.Must(Client.Command("", "/groupmsg "+user3.Username+","+user4.Username+" foobar")).Data.(*model.CommandResponse)
+ group2 := model.GetGroupNameFromUserIds([]string{user1.Id, user3.Id, user4.Id})
+
+ if !strings.HasSuffix(rs2.GotoLocation, "/"+team.Name+"/channels/"+group2) {
+ t.Fatal("failed to create second direct channel")
+ }
+ if result := Client.Must(Client.SearchPosts("foobar", false)).Data.(*model.PostList); len(result.Order) == 0 {
+ t.Fatal("post did not get sent to direct message")
+ }
+
+ rs3 := Client.Must(Client.Command("", "/groupmsg "+user2.Username+","+user3.Username)).Data.(*model.CommandResponse)
+ if !strings.HasSuffix(rs3.GotoLocation, "/"+team.Name+"/channels/"+group1) {
+ t.Fatal("failed to go back to existing group channel")
+ }
+
+ Client.Must(Client.Command("", "/groupmsg "+user2.Username+" foobar"))
+ Client.Must(Client.Command("", "/groupmsg "+user2.Username+","+user3.Username+","+user4.Username+","+user5.Username+","+user6.Username+","+user7.Username+","+user8.Username+","+user9.Username+" foobar"))
+ Client.Must(Client.Command("", "/groupmsg junk foobar"))
+ Client.Must(Client.Command("", "/groupmsg junk,junk2 foobar"))
+}