From 6c211c3a12b9f909651a1431999067c7a8df0def Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Tue, 14 Nov 2017 23:27:14 +0100 Subject: 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 --- api/command_groupmsg_test.go | 58 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 api/command_groupmsg_test.go (limited to 'api') 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")) +} -- cgit v1.2.3-1-g7c22