diff options
author | Jesús Espino <jespinog@gmail.com> | 2017-11-14 23:27:14 +0100 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2017-11-14 17:27:14 -0500 |
commit | 6c211c3a12b9f909651a1431999067c7a8df0def (patch) | |
tree | 445c7cd195599dc6cb9a4636deb03179a768fd26 /api | |
parent | 1c92ad0afb7d0828f5d8a69adbf9600b75f3b212 (diff) | |
download | chat-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.go | 58 |
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")) +} |