From bd3b7aeeeadb10bf07dcb8cb0c4a879fdd6e6709 Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 1 Nov 2017 13:15:31 -0500 Subject: Fix /msg switching teams (#7753) * Fix /msg switching teams * simplify a bit --- app/command_msg.go | 4 +--- app/command_msg_test.go | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 app/command_msg_test.go diff --git a/app/command_msg.go b/app/command_msg.go index 648903f0d..120619960 100644 --- a/app/command_msg.go +++ b/app/command_msg.go @@ -37,12 +37,10 @@ func (me *msgProvider) GetCommand(T goi18n.TranslateFunc) *model.Command { } func (me *msgProvider) DoCommand(a *App, args *model.CommandArgs, message string) *model.CommandResponse { - splitMessage := strings.SplitN(message, " ", 2) parsedMessage := "" targetUsername := "" - teamId := "" if len(splitMessage) > 1 { parsedMessage = strings.SplitN(message, " ", 2)[1] @@ -81,7 +79,6 @@ func (me *msgProvider) DoCommand(a *App, args *model.CommandArgs, message string } else { channel := channel.Data.(*model.Channel) targetChannelId = channel.Id - teamId = channel.TeamId } if len(parsedMessage) > 0 { @@ -94,6 +91,7 @@ func (me *msgProvider) DoCommand(a *App, args *model.CommandArgs, message string } } + teamId := args.TeamId if teamId == "" { if len(args.Session.TeamMembers) == 0 { return &model.CommandResponse{Text: args.T("api.command_msg.fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL} diff --git a/app/command_msg_test.go b/app/command_msg_test.go new file mode 100644 index 000000000..22c4d07cf --- /dev/null +++ b/app/command_msg_test.go @@ -0,0 +1,31 @@ +// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package app + +import ( + "testing" + + "github.com/nicksnyder/go-i18n/i18n" + "github.com/stretchr/testify/assert" + + "github.com/mattermost/mattermost-server/model" +) + +func TestMsgProvider(t *testing.T) { + th := Setup().InitBasic() + defer th.TearDown() + + team := th.CreateTeam() + th.LinkUserToTeam(th.BasicUser, team) + cmd := &msgProvider{} + resp := cmd.DoCommand(th.App, &model.CommandArgs{ + T: i18n.IdentityTfunc(), + SiteURL: "http://test.url", + TeamId: team.Id, + UserId: th.BasicUser.Id, + }, "@"+th.BasicUser2.Username+" hello") + channelName := model.GetDMNameFromIds(th.BasicUser.Id, th.BasicUser2.Id) + assert.Equal(t, "", resp.Text) + assert.Equal(t, "http://test.url/"+team.Name+"/channels/"+channelName, resp.GotoLocation) +} -- cgit v1.2.3-1-g7c22