From 6026ed9d537cc2f41a263694a06b56cd645081b7 Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Thu, 11 May 2017 00:16:45 +0100 Subject: PLT-6523: Don't crash when replying to a post whose poster has left the channel. (#6388) --- app/post_test.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 app/post_test.go (limited to 'app/post_test.go') diff --git a/app/post_test.go b/app/post_test.go new file mode 100644 index 000000000..9bc5ee742 --- /dev/null +++ b/app/post_test.go @@ -0,0 +1,44 @@ +// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package app + +import ( + "testing" + + "github.com/mattermost/platform/model" + "fmt" +) + +func TestPostReplyToPostWhereRootPosterLeftChannel(t *testing.T) { + // This test ensures that when replying to a root post made by a user who has since left the channel, the reply + // post completes successfully. This is a regression test for PLT-6523. + th := Setup().InitBasic() + + channel := th.BasicChannel + userInChannel := th.BasicUser2 + userNotInChannel := th.BasicUser + rootPost := th.BasicPost + + if _, err := AddUserToChannel(userInChannel, channel); err != nil { + t.Fatal(err) + } + + if err := RemoveUserFromChannel(userNotInChannel.Id, "", channel); err != nil { + t.Fatal(err) + } + + replyPost := model.Post{ + Message: "asd", + ChannelId: channel.Id, + RootId: rootPost.Id, + ParentId: rootPost.Id, + PendingPostId: model.NewId() + ":" + fmt.Sprint(model.GetMillis()), + UserId: userInChannel.Id, + CreateAt: 0, + } + + if _, err := CreatePostAsUser(&replyPost); err != nil { + t.Fatal(err) + } +} -- cgit v1.2.3-1-g7c22