From b87fae646a624507f5b2c1270cae1d3585f589ac Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 28 Nov 2017 15:02:56 -0600 Subject: PLT-5458: If someone posts a channel link to channel_A that you don't belong to, it doesn't render properly (#7833) * add channel link hints to post props * optimization * update regex, add unit test * fix rebase issue --- app/post_test.go | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'app/post_test.go') diff --git a/app/post_test.go b/app/post_test.go index e2e9a7261..3b7e8d039 100644 --- a/app/post_test.go +++ b/app/post_test.go @@ -138,3 +138,41 @@ func TestPostAction(t *testing.T) { err = th.App.DoPostAction(post.Id, attachments[0].Actions[0].Id, th.BasicUser.Id) require.Nil(t, err) } + +func TestPostChannelMentions(t *testing.T) { + th := Setup().InitBasic() + defer th.TearDown() + + channel := th.BasicChannel + user := th.BasicUser + + channelToMention, err := th.App.CreateChannel(&model.Channel{ + DisplayName: "Mention Test", + Name: "mention-test", + Type: model.CHANNEL_OPEN, + TeamId: th.BasicTeam.Id, + }, false) + if err != nil { + t.Fatal(err.Error()) + } + defer th.App.PermanentDeleteChannel(channelToMention) + + _, err = th.App.AddUserToChannel(user, channel) + require.Nil(t, err) + + post := &model.Post{ + Message: fmt.Sprintf("hello, ~%v!", channelToMention.Name), + ChannelId: channel.Id, + PendingPostId: model.NewId() + ":" + fmt.Sprint(model.GetMillis()), + UserId: user.Id, + CreateAt: 0, + } + + result, err := th.App.CreatePostAsUser(post) + require.Nil(t, err) + assert.Equal(t, map[string]interface{}{ + "mention-test": map[string]interface{}{ + "display_name": "Mention Test", + }, + }, result.Props["channel_mentions"]) +} -- cgit v1.2.3-1-g7c22